Функции

Подпрограммы, служащие для переиспользования кода по принципам процедурного программирования и повышения читаемости программы в целом, в описываемом языке представлены в виде функций. Функции уже упоминались ранее при описании арифметико-логических выражений. Объявление функции состоит из заголовка (сигнатуры) функции и ее реализации (определения). Заголовок должен включать в себя:

  • имя (название) функции (является идентификатором);

  • список аргументов (если они требуются);

  • тип возвращаемого значения.

Список аргументов представляет собой, по сути, набор объявлений, схожих с объявлениями переменных, описанных в п. 3.8, перечисленных через запятую. В каждом объявлении указывается имя переменной-аргумента, с которым она попадет в тело функции при ее вызове, и ее тип, разделенные двоеточием.

Таким образом, объявление функции начинается с ключевого слова def, затем следует имя. Далее идет список аргументов в паре круглых скобок. Если функция не должна принимать аргументов, то указываются только открывающая и закрывающая круглые скобки. После этого должна находиться специальная последовательность «стрелка» и название типа возвращаемого значения. Если функция ничего не возвращает, следует указать тип None. Заголовок функции заканчивается двоеточием, и с новой строки записывается тело (реализация) функции. При этом оно должно находиться внутри отдельного (вложенного) блока кода, то есть, каждая строка обязана предваряться отступом. Необходимо, чтобы тело функции содержало как минимум одну непустую строку.

Примеры объявлений функций:

def func(arg1: int, arg2: float) -> float:
    x: int = arg1 + 3
    y: float = x - arg2
    return x * y
def another_func() -> int:
    return 3

Как можно заметить, передаваемые аргументы могут быть использованы непосредственно в выражениях без дополнительных объявлений в теле функции – достаточно их упоминания в заголовке. Также, для указания возвращаемого значения используется ключевое слово return, за которым следует арифметико-логическое выражение.

Назад