Python для новичковФункцииОпределение и вызов функции

Определение и вызов функции

Уроки курсаОпределение и вызов функции

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

Синтаксис def: имя, параметры, тело

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

Общая структура выглядит так:

def имя_функции(параметр1, параметр2):
    # тело функции
    ...

Разберём каждую часть по порядку.

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

Имя функции пишется сразу после def через пробел. Правила те же, что для переменных: латинские буквы, цифры (но не в начале), символ подчёркивания. По соглашению используется snake_case.

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

Двоеточие в конце первой строки обязательно. Точно так же, как в if или for, оно открывает блок.

Тело функции — всё, что написано с отступом (обычно 4 пробела) после строки с def. Отступ — единственный способ показать Python, где тело начинается и где заканчивается.

Пример определения функции с двумя параметрами:

def greet(name, greeting):
    message = greeting + ", " + name + "!"

Здесь name и greeting — параметры. Внутри тела они ведут себя как обычные переменные: можно складывать строки, присваивать результат другой переменной, использовать в условиях. Но пока функция только определена — этот код не выполняется. Python просто запоминает: «есть функция с таким именем и такой структурой».

Важно понять разницу: параметр существует только внутри определения функции, это имя-заглушка. Конкретное значение, которое придёт на его место при вызове, называется аргументом — но о вызове поговорим отдельно.

Пока достаточно одного ориентира: если видишь def — перед тобой не исполнение, а объявление. Код в теле запустится только тогда, когда функцию явно вызовут.