Что такое функция? Как объявить функцию с параметрами по умолчанию?

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

Подробный ответ

Развернутое объяснение

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

  1. Не дублируется код — одна функция может вызываться из разных мест программы;

  2. Код становится более понятным и структурированным;

  3. Проще тестировать и изменять поведение программы, не трогая все места вызова.

Базовый синтаксис объявления функции:

def function_name(parameters):
   # тело функции
   ...
   return result  # необязательно

Ключевые части: def, имя функции, круглые скобки с параметрами и двоеточие, после чего следует блок с отступом.

Для backend‑разработчика функция — базовый строительный блок: ей оформляют работу с базой данных, валидацию данных, бизнес‑логику. На курсах TeoBrain мы постепенно двигаемся от маленьких учебных функций к полноценным обработчикам запросов в веб‑приложениях.

Параметры по умолчанию: как объявить и как это работает

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

Синтаксис:

def greet(name, greeting="Hello"):
   print(greeting, name)
greet("Аня")                 # Hello Аня
greet("Максим", "Привет")   # Привет Максим

Здесь важно помнить два правила, которые часто проверяют на собеседовании:

Параметры с значениями по умолчанию должны идти после обязательных.

def func(a, b=10):   # корректно
   ...
# def func(a=10, b):  # так нельзя — вызовет SyntaxError

Иначе Python не сможет корректно сопоставить позиционные аргументы с параметрами. 

При передаче в качестве значения по умолчанию изменяемых объектов (например, списков) нужно быть осторожным. Часто на собеседовании дают пример с «липким» списком: значение по умолчанию вычисляется один раз при определении функции, а не при каждом вызове. Это тонкость, которую мы подробно разбираем в блоке о функциях нашего курса TeoPython, но для уровня trainee достаточно знать, что по умолчанию чаще ставят простые неизменяемые значения — числа, строки, None.

Как ответить на собеседовании?

Функция в Python — это именованный блок кода, который можно вызывать с аргументами и, при необходимости, возвращать результат. Объявляется через def. Параметры по умолчанию задаются прямо в определении функции через =: def func(a, b=10). Если при вызове аргумент b не передан, используется значение 10.

Читать полную статью в блоге