Funkcja jako zmienna w Pythonie
W Pythonie funkcja w swojej istocie jest zmienną. A to oznacza, że można ją również przekazywać.
Załóżmy, że mamy funkcję, która zwraca wykrzyknik:
pythondef func():
return '!'
Przekażmy do print nazwę funkcji
bez nawiasów okrągłych jako zmienną:
pythonprint(func)
Po wykonaniu kodu w konsoli wyświetli się specjalny obiekt, zawierający informację o danej funkcji:
python<function func at 0x0000022816383E20>
Teraz zadeklarujmy zmienną func2,
do wartości której przekażemy funkcję func1.
Sama funkcja będzie przekazywana nie przez
wartość, ale przez referencję jako obiekt. I przy
wywołaniu func2 z nawiasami okrągłymi w
konsoli wyświetli się wynik działania func1:
pythondef func1():
print('!')
func2 = func1
func2() # wyświetli '!'
Задание 1
Jaki będzie wynik wykonania następującego kodu:
pythondef func():
print('hello, user!')
greet = func
print(greet)
Задание 2
Jaki będzie wynik wykonania następującego kodu:
pythondef getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))