Callback-funktioner i Python
I Python er det muligt at videregive funktioner som parametre til andre funktioner. I sådanne tilfælde videregives funktionerne som variable (uden runde parenteser) og kaldes callbacks. Disse callback-funktioner vil blive udført i hovedfunktionens krop.
Lad os sige, at vi har en funktion test,
som tager et tal og en
funktion som parameter:
def test(num, func):
pass
Lad os nu oprette en funktion func,
som vil opløfte et tal i anden potens:
def func(num):
return num ** 2
Lad os nu vende tilbage til test og
tilføje kode i dens krop, så den videregivne
callback-funktion også tager et tal som parameter.
Resultatet bliver, at
resultatet af test vil være resultatet af den anden
funktion, hvor tallet til den funktion vil blive taget
fra den første parameter i test:
def test(num, func):
print(func(num))
Derefter kalder vi funktionen test og
videresender 3 som dens første parameter, og
func som den anden:
test(3, func) # vil udskrive 9
Hvad vil resultatet af følgende kode være:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)