Funktion som variabel i Python
I Python er en funktion i bund og grund en variabel. Og det betyder, at den også kan overføres.
Lad os sige, at vi har en funktion, der returnerer et udråbstegn:
def func():
return '!'
Lad os sende navnet på funktionen til print
uden parenteser som en variabel:
print(func)
Efter udførelse af koden vil der blive vist et specielt objekt i konsollen, der indeholder information om denne funktion:
<function func at 0x0000022816383E20>
Lad os nu deklarere en variabel func2,
hvis værdi vi tildeler funktionen func1.
Funktionen selv vil blive overført ikke som
en værdi, men som en reference til et objekt. Og når
func2 kaldes med parenteser,
vises resultatet af func1 i konsollen:
def func1():
print('!')
func2 = func1
func2() # vil udskrive '!'
Hvad bliver resultatet af følgende kode:
def func():
print('hello, user!')
greet = func
print(greet)
Hvad bliver resultatet af følgende kode:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))