Callback-functies in Python
In Python is het mogelijk om functies door te geven als parameters van andere functies. In dat geval worden de functies doorgegeven als variabelen (zonder ronde haken) en worden ze callbacks genoemd. Dergelijke callback-functies worden uitgevoerd in het lichaam van de hoofd functie.
Stel dat we een functie test hebben,
die een getal en een functie als parameter accepteert:
def test(num, func):
pass
Laten we nu een functie func maken,
die een getal kwadrateert:
def func(num):
return num ** 2
Laten we nu terugkeren naar test en
in haar lichaam code toevoegen, zodat de functie-callback die wordt doorgegeven
als parameter ook een getal als parameter accepteert. Uiteindelijk zal het resultaat van test de werking zijn van een andere
functie, waarvan het getal wordt genomen
uit de eerste parameter van test:
def test(num, func):
print(func(num))
Vervolgens roepen we de functie test aan en
geven we haar als eerste parameter 3 door, en
als tweede - func:
test(3, func) # geeft 9 weer
Wat wordt het resultaat van de volgende code:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)