Funcția ca variabilă în Python
În Python, o funcție este în esență o variabilă. Și asta înseamnă că ea poate fi de asemenea transmisă.
Să presupunem că avem o funcție care returnează un semn de exclamare:
def func():
return '!'
Să transmitem în print numele funcției
fără paranteze rotunde ca variabilă:
print(func)
După executarea codului, în consolă va fi afișat un obiect special care conține informații despre această funcție:
<function func at 0x0000022816383E20>
Acum să declarăm variabila func2,
în a cărei valoare vom transmite funcția func1.
Funcția în sine va fi transmisă nu prin
valoare, ci prin referință ca obiect. Și la
apelarea func2 cu paranteze rotunde în
consolă va fi afișat rezultatul executării func1:
def func1():
print('!')
func2 = func1
func2() # va afișa '!'
Care va fi rezultatul executării următorului cod:
def func():
print('hello, user!')
greet = func
print(greet)
Care va fi rezultatul executării următorului cod:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))