Вызов функции
Вызов функции — это команда, которая временно передаёт управление заранее описанной функции, передаёт ей вычисленные аргументы и, если функция что-то возвращает, получает её результат.
Аргументы — это значения или выражения, передаваемые функции при вызове. Их не следует смешивать с параметрами: параметры записывают при описании функции, а аргументы — при её вызове. Подробнее об аргументах можно узнать на странице аргумент.
Пусть функция описана так:
def square(x): return x * x n = 3 answer = square(n + 1) print(answer)
При выполнении строки с присваиванием сначала вычисляется аргумент \(n+1\): получается \(4\). Затем управление передаётся функции square, и параметр \(x\) получает значение \(4\). Функция возвращает \(4\cdot4=16\), после чего управление возвращается к следующей команде основной программы. В переменную answer записывается возвращаемое значение \(16\). Понятие возвращаемого значения разобрано на странице возвращаемое значение.
Определение функции только задаёт её имя, параметры и команды тела. Оно не выполняет эти команды. Выполнение начинается, когда встречается вызов, например square(4). Также вызов функции отличается от вызова процедуры: функция обычно возвращает значение, а процедура предназначена прежде всего для выполнения действий.
Что произойдёт при выполнении f(2 + 3), если функция f(x) возвращает x * 2?
Главное
- Вызов функции передаёт управление функции и возвращает его после выполнения тела.
- Аргументы вычисляются до передачи функции; их значения получают соответствующие параметры.
- Возвращаемое значение можно использовать в выражениях, присваивании, условии или выводе.