Что такое функции в Python, как работают и зачем они нужны

7 июля 2026

Что такое функция в Python? На занятиях в Стартории это обычно поясняется так. Ребёнок пишет формулу площади треугольника, потом копирует её для второго треугольника. А к третьему повтору спрашивает: а можно объяснить это компьютеру один раз? Можно — и именно поэтому в программировании появился такой инструмент.

На бумаге идея кажется скучной. А на практике — это первый момент, когда ученик перестаёт писать код построчно и начинает мыслить блоками. Дальше разберём, как устроен такой блок изнутри и почему без него сложно представить взрослую программу.

Редакция
Медиа ИТ-школы Стартория

Зачем в программе нужен отдельный именованный блок

Что такое функция в Питоне простыми словами? Это блок (block) кода с собственным именем, который выполняет одну конкретную задачу. Внутри может быть одна строка или десяток связанных инструкций — программа воспринимает их как единое целое.

Такой блок можно вызвать снова в любом месте программы, не переписывая его заново. Ученики, которые только начинают писать функции в Питоне, часто путают такой блок с обычной последовательностью команд. Разница именно в возможности повторного вызова.

Ключевое слово, с которого всё начинается

Def в Python — что это за слово, если перевести дословно? Оно происходит от английского define — «определять». Именно этим ключевым словом начинается любое определение в языке программирования.

После def указывается имя, скобки для параметров и двоеточие, которое открывает тело блока. Дальше строки кода пишутся с отступом — так интерпретатор понимает, где заканчивается этот блок.

Как это выглядит в реальном коде

Что означает def в Python, проще всего увидеть на конкретном примере. Возьмём простую задачу — сложить два числа и получить результат:

    def summa(a, b):
    result = a + b
    return result

Здесь используется имя summa, а в скобках перечислены два параметра. За создание какой функции отвечает конструкция def в этом коде? Она объявляет summa, которая принимает два числа и возвращает их сумму. Слово def — это не имя, а команда, с которой начинается любое определение в программе на Python.

Параметры и аргументы: в чём разница

В скобках после имени перечисляются параметры — своего рода пустые места для будущих данных. При вызове на место параметров подставляются конкретные значения, которые называют аргументами. В примере выше a и b — параметры, а числа при вызове — уже аргументы.

Использовать понятные имена параметров — хорошая привычка, которая экономит время при чтении кода в будущем. Мы в Стартории советуем ученикам сразу давать параметрам осмысленные имена, а не просто x и y.

Как выбрать понятное имя, чтобы код было легко читать

Имя стоит выбирать так, чтобы оно объясняло, что именно происходит внутри блока. Например, summa понятнее, чем f1 или my_func. Хорошее имя — это не формальность, а ключевой навык, который экономит время при чтении кода спустя месяц после написания.

Мы советуем ученикам использовать глаголы для действий и существительные — для вычислений. Такой подход быстро становится привычкой и заметно облегчает работу над более сложными программами.

Return и результат работы

Ключевое слово return нужно, чтобы возвращать результат наружу, в остальную часть программы. Без этого слова блок кода может выполнить действие внутри себя, но ничего не передаст дальше.

Например, вот код, который просто печатает приветствие и ничего не возвращает:

    def greet(name):
    print("Привет, " + name + "!")

Он выполнит действие на экране, но ничего не передаст в остальную программу — а значит, greet(name) нельзя использовать в дальнейших вычислениях.

Разница между «показать» и «вернуть» — то, на понимание чего иногда уходит целое занятие. Как только ученик разбирается в этой разнице, дальнейший код начинает получаться увереннее.

Результат может быть не только числом, но и текстом, списком или логическим значением — тип ничем не ограничен.

Как использовать то, что уже объявлено

Как вызвать функцию в Питоне, если она уже определена выше по коду? Достаточно написать её имя, а в скобках указать нужные аргументы. Вызов summa(5, 3) вернёт число 8, и это значение можно сразу использовать дальше.

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

print(len("Python"))

Этот код выведет число 6 — столько символов в слове Python. Библиотеки языка вообще позволяют встраивать в свой код чужие готовые решения и не изобретать всё заново.

Функции на реальном примере из практики Стартории

На курсе программирования для детей ученики Стартории пишут свою первую игру уже на третьем занятии. Функции появляются там не как теория, а как необходимость. При создании простого счётчика очков ребята выносят подсчёт в отдельную функцию.

Так не нужно повторять одну и ту же инструкцию для каждого уровня игры. Когда игра усложняется и уровней становится десять, а не два, такая функция экономит буквально часы работы над кодом.

Подробнее о том, как строится обучение языку с нуля, можно посмотреть на странице курса программирование на Python для начинающих.

Что важно запомнить

Функция (function) — это именованный блок кода, который можно вызывать многократно.
Слово def открывает определение функции и стоит перед её именем.
В скобках через запятую перечисляются параметры функции.
Return возвращает результат работы функции в остальную часть программы.
Аргументы — конкретные значения, которые подставляются вместо параметров при вызове.

Ответы на частые вопросы о функциях

Обязательно ли писать return в каждой функции?

Нет. Если функция должна что-то сделать — напечатать текст, изменить список — return можно не писать вовсе. Тогда функция просто выполняет инструкции без возврата значения наружу.

Можно ли вызвать функцию раньше, чем она определена в коде?

Нет, интерпретатор читает файл сверху вниз, и определение должно стоять раньше вызова. Это одна из первых ошибок, с которой сталкиваются новички, когда порядок строк перепутан.

Сколько параметров может быть у одной функции?

Сколько угодно, включая ноль. Некоторые функции вообще не принимают данные на вход и просто выполняют одну и ту же инструкцию.

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

Тем, что её можно вызвать много раз из разных мест программы, не переписывая код заново. Это экономит время и снижает количество ошибок при изменении логики в будущем.

Функция — это то же самое, что инструкция для компьютера?

По сути да: функция — это оформленная особым образом инструкция, которую компьютер умеет выполнять по команде. Разница в том, что обычная строка кода выполняется один раз по порядку, а функцию можно вызывать сколько угодно раз.

Автор статьи: Редакция медиа ИТ-школы Стартория
Редакция
Медиа ИТ-школы Стартория
Читайте также
promo promo
close