Funksjon som variabel i Python
I Python er en funksjon i seg selv en variabel. Og det betyr at den også kan overføres.
La oss si at vi har en funksjon som returnerer et utropstegn:
def func():
return '!'
La oss sende navnet på funksjonen
uten parenteser som en variabel til print:
print(func)
Etter kjøring av koden vil en spesialobjekt som inneholder informasjon om denne funksjonen bli skrevet ut i konsollen:
<function func at 0x0000022816383E20>
La oss nå deklarere en variabel func2,
og tildele funksjonen func1 som dens verdi.
Funksjonen selv vil bli overført ikke som
en verdi, men som en referanse til et objekt. Og når
func2 kalles med parenteser,
vil resultatet av func1 bli skrevet ut i
konsollen:
def func1():
print('!')
func2 = func1
func2() # skriver ut '!'
Hva blir resultatet av å kjøre følgende kode:
def func():
print('hello, user!')
greet = func
print(greet)
Hva blir resultatet av å kjøre følgende kode:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))