Функция как переменная в Python
В Python функция по своей сути является переменной. И это значит, что ее также можно передавать.
Пусть у нас есть функция, которая возвращает восклицательный знак:
pythondef func():
return '!'
Давайте передадим в print имя функции
без круглых скобок как переменную:
pythonprint(func)
После выполнения кода в консоль выведется специальный объект, содержащий информацию о данной функции:
python<function func at 0x0000022816383E20>
Теперь давайте объявим переменную func2,
в значение которой передадим функцию func1.
Сама функция будет передаваться не по
значению, а по ссылке как объект. И при
вызове func2 с круглыми скобками в
консоль выведется результат работы func1:
pythondef func1():
print('!')
func2 = func1
func2() # выведет '!'
Задание 1
Каким будет результат выполнения следующего кода:
pythondef func():
print('hello, user!')
greet = func
print(greet)
Задание 2
Каким будет результат выполнения следующего кода:
pythondef getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))