Готовые функции языка Python для школьника: от print до zip

Справочникобновлено 07.10.20268 мин чтенияесть тренажёр

Встроенные функции Python — это готовые команды, которые работают сразу, без import: print выводит текст, len считает длину, sum складывает числа. Школьнику для первых задач хватает 16 таких функций, и ниже каждая показана на коротком примере, а сверху — квиз для самопроверки.

Загружаем…

Что такое встроенные функции Python

Встроенная функция — это функция, которую Python загружает сам при запуске любой программы. Её не нужно описывать через def или подключать из модуля: достаточно написать имя и скобки с аргументами.

Всего в Python около семидесяти таких функций, их полный список приведён в официальной документации Python[1]. Большая часть нужна в серьёзных проектах, а для школьных задач достаточно двух десятков. Вызов всегда выглядит одинаково: имя, круглые скобки, внутри аргументы через запятую. Даже если аргументов нет, скобки обязательны: input() работает, а input без скобок — это просто ссылка на функцию, которая ничего не делает.

У функции есть результат — то, что она возвращает. len("кот") возвращает 3, и это число можно сохранить в переменную или передать в другую функцию: print(len("кот")). Некоторые функции ничего полезного не возвращают, а делают действие: print выводит текст на экран и отдаёт None.

ФункцияЧто делаетПримерРезультат
printВыводит значенияprint(2, 3)2 3
inputЧитает строку с клавиатурыinput("Имя? ")введённая строка
lenДлина строки или спискаlen([4, 5])2
rangeПоследовательность целыхlist(range(3))[0, 1, 2]
int, float, strПеревод в число или строкуint("42")42
typeТип значенияtype(3.5)<class 'float'>
abs, roundМодуль и округлениеround(3.14159, 2)3.14
min, max, sumНаименьшее, наибольшее, суммаmax(4, 9, 1)9
sortedНовый отсортированный списокsorted([3, 1, 2])[1, 2, 3]
enumerate, zipНомера и пары при перебореlist(zip("аб", [1, 2]))[('а', 1), ('б', 2)]

Ввод и вывод: print и input

Почти каждая учебная программа начинается с двух функций: input получает данные от человека, print показывает результат. У print есть 2 полезных параметра — sep и end.

imya = input("Как тебя зовут? ")
print("Привет,", imya)
print(1, 2, 3, sep="-")
print("Без перевода строки", end=" ")
print("— продолжение")

Параметр sep задаёт разделитель между значениями (по умолчанию пробел), а end — то, что печатается в конце (по умолчанию перевод строки). Главная ловушка input: она всегда возвращает строку. Если пользователь ввёл 5, в переменной окажется "5", и "5" + 1 вызовет TypeError. Поэтому число сразу оборачивают: n = int(input()). Подробнее о вводе — в уроке про функцию input и ввод чисел, а о выводе — на странице про print, sep и end.

Типы: int, float, str и type

Функции int, float и str превращают значение в другой тип, а type показывает, какого типа значение сейчас. Это 4 инструмента, без которых не обходится ни одна программа с вводом чисел.

print(int("17") + 3)
print(int(9.99))
print(float("2.5") * 2)
print(str(7) + "Б")
print(type("7"), type(7))
20
9
5.0
7Б
<class 'str'> <class 'int'>

Обратите внимание на вторую строку: int(9.99) даёт 9, а не 10. Функция не округляет, а отбрасывает дробную часть. Ещё одна особенность: int("3.5") не сработает и вызовет ValueError, потому что строка с точкой — это запись дробного числа. Сначала нужен float, потом при желании int. Функция type пригодится при отладке, когда непонятно, почему сложение склеивает строки вместо того, чтобы считать.

Числа: abs, round, min, max и sum

Для расчётов есть 5 функций, которые заменяют несколько строк собственного кода: модуль числа, округление, поиск наименьшего и наибольшего, сумма списка.

ocenki = [5, 4, 3, 5, 4]
print(sum(ocenki))
print(min(ocenki), max(ocenki))
print(round(sum(ocenki) / len(ocenki), 1))
print(abs(-12), abs(12))

Средний балл здесь считается одной строкой: сумма делится на количество, результат округляется до одного знака. Функции min и max принимают либо список, либо несколько чисел через запятую: max(3, 8, 1). С round есть тонкость, о которой полезно знать заранее: числа ровно посередине Python округляет к ближайшему чётному, поэтому round(2.5) даёт 2, а round(3.5) — 4. Так устроено «банковское» округление, и это поведение описано в документации. Для школьных задач с деньгами или оценками обычно хватает обычного round(x, 2). Подробнее об арифметике — на странице про математику в Python.

Последовательности: len, range и sorted

Функция len возвращает длину строки, списка или словаря, range создаёт ряд целых чисел для цикла, а sorted возвращает новый отсортированный список и не трогает исходный.

slovo = "черепаха"
print(len(slovo))
for i in range(0, len(slovo), 2):
    print(slovo[i], end="")
print()
chisla = [7, 2, 9, 4]
print(sorted(chisla))
print(sorted(chisla, reverse=True))
print(chisla)

Последняя строка выводит исходный порядок [7, 2, 9, 4]: sorted сделал копию. Этим она отличается от метода chisla.sort(), который меняет сам список и возвращает None. Частая ошибка — написать chisla = chisla.sort() и потерять данные. У range правая граница не входит в ряд, поэтому range(1, 11) — это числа от 1 до 10. Параметр key у sorted задаёт, по чему сравнивать: sorted(slova, key=len) упорядочит слова по длине.

Перебор с номером и парами: enumerate и zip

Если в цикле нужен номер элемента, используют enumerate; если нужно идти по двум спискам одновременно — zip. Обе функции избавляют от ручной работы с индексами.

uchastniki = ["Аня", "Боря", "Вика"]
ochki = [12, 9, 15]
for mesto, imya in enumerate(uchastniki, start=1):
    print(mesto, imya)
for imya, o in zip(uchastniki, ochki):
    print(imya, "набрал(а)", o)

Без enumerate пришлось бы писать for i in range(len(uchastniki)) и обращаться к uchastniki[i], а потом не забыть прибавить 1 для «человеческого» номера. zip останавливается на самом коротком списке, поэтому, если очков меньше, чем имён, лишние имена молча пропустятся. Это стоит помнить при отладке.

Квиз в начале страницы проверяет именно такие детали: что вернёт функция, где граница range, что произойдёт с типом. Исследование Roediger и Karpicke показало, что попытка вспомнить ответ закрепляет знание лучше, чем повторное чтение[2], поэтому пройдите квиз ещё раз через пару дней.

Когда готовая функция не подходит

Не стоит думать, что для любой задачи найдётся встроенная команда: иногда её нет, а иногда она делает не совсем то, что нужно. Вот 4 типичных случая.

  • Округление «по-школьному». round(2.5) вернёт 2, а не 3, поэтому для правила «5 и больше — вверх» нужен свой расчёт.
  • Квадратный корень и число π. Их нет среди встроенных, они лежат в модуле math; без 1 строки import math не обойтись.
  • Случайные числа. Встроенной функции для броска кубика нет — нужен random.randint(1, 6) из модуля random.
  • Задание 16 ОГЭ, где просят найти максимум без готовых средств. Если условие требует алгоритм, ответ max() не покажет, что вы его понимаете.

Миф: «Пользоваться sum и max — нечестно, настоящий программист пишет всё сам». Такого правила не существует: документация Python прямо рекомендует готовые функции, они быстрее и надёжнее самодельных. Писать свои версии полезно для тренировки, а в рабочем коде — не обязательно.

Миф: «round всегда округляет 0,5 вверх, как в школе». Это не подтверждается запуском: round(0.5) даёт 0, round(1.5) — 2. Python округляет середину к чётному числу.

Чего делать нельзя

Нельзя занимать имена встроенных функций своими переменными: Python это разрешит, но функция перестанет работать до конца программы. Вот шесть ошибок, которых стоит избегать.

  • Нельзя называть переменные sum, list, max, input — после sum = 0 вызов sum([1, 2]) упадёт с TypeError.
  • Не следует забывать int() вокруг input(), если дальше нужна арифметика.
  • Не стоит писать x = x.sort() — метод вернёт None; для нового списка есть sorted(x).
  • Не допускается вызывать функцию без скобок, например print вместо print(): ничего не произойдёт.
  • Не стоит передавать в sum список строк — она складывает только числа.
  • Не следует ждать от int() округления: int(4.9) даёт 4.

Руководство PEP 8 советует давать переменным понятные имена в стиле snake_case[3] — так легче не столкнуться с именами встроенных функций. Как отличить зарезервированные слова языка от просто занятых имён, рассказано на странице про ключевые слова Python.

Источники

[1] The Python Tutorial (официальная документация Python 3). Python Software Foundation.

[2] Roediger H. L., Karpicke J. D. Test-enhanced learning: Taking memory tests improves long-term retention // Psychological Science. 2006. Vol. 17, № 3. P. 249–255.

[3] van Rossum G., Warsaw B., Coghlan N. PEP 8 — Style Guide for Python Code. Python Software Foundation, 2001.

[4] ФИПИ. Методические рекомендации для обучающихся по организации индивидуальной подготовки к ОГЭ 2026 года. Информатика. М., 2026.

Вопросы и ответы

Чем встроенная функция отличается от метода?

Функцию вызывают отдельно: len(s). Метод вызывают через точку у конкретного значения: s.upper(). Методы есть у строк, списков и словарей, и у каждого типа свои.

Как посмотреть список всех встроенных функций?

В IDLE выполните print(dir(__builtins__)) — появится длинный перечень, где кроме функций есть названия ошибок. Удобнее открыть таблицу в официальной документации Python.

Можно ли пользоваться встроенными функциями на ОГЭ?

Да, в задании 16 программа пишется на обычном Python, и input, int, range, print там нужны всегда. По материалам ФИПИ, проверяется правильность работы программы на тестах.

Что вернёт max для пустого списка?

Ничего не вернёт: будет ValueError. Перед вызовом проверьте, что список не пуст, например условием if chisla:.

Почему print(input()) выводит текст дважды?

Не дважды: сначала вы сами набираете текст в поле ввода, а потом print показывает его в выводе. Так программа «повторяет» за вами.

Работают ли эти функции в редакторе на сайте?

Да, все 16 функций из таблицы работают в редакторе на сайте: нажмите «▶ Запустить» или Ctrl+Enter. Отличия возможны только в редких деталях вывода.