Функција како променлива во Python
Во Python функцијата во суштина е променлива. И тоа значи дека може да се пренесува.
Да претпоставиме дека имаме функција која враќа извичник:
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))