Функција као променљива у Пајтону
У Пајтону је функција у суштини променљива. А то значи да се она такође може преносити.
Рецимо да имамо функцију која враћа узвичник:
def func():
return '!'
Хајде да проследимо у print име функције
без заграда као променљиву:
print(func)
Након извршења кода у конзолу ће се исписати специјални објекат који садржи информације о датој функцији:
<function func at 0x0000022816383E20>
Сада ћемо декларисати променљиву func2,
у чију вредност ћемо проследити функцију func1.
Сама функција ће се преносити не као
вредност, већ као референца на објекат. И при
позиву func2 са заградама у
конзолу ће се исписати резултат рада func1:
def func1():
print('!')
func2 = func1
func2() # исписаће '!'
Какав ће бити резултат извршавања следећег кода:
def func():
print('hello, user!')
greet = func
print(greet)
Какав ће бити резултат извршавања следећег кода:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))