Callback függvények Pythonban
A Pythonban lehetőség van függvények átadására más függvények paramétereiként. Ebben az esetben a függvények változókként (kerek zárójelek nélkül) adódnak át, és callback-eknek nevezik őket. Ezek a callback függvények a fő függvény testében futnak le.
Tegyük fel, hogy van egy test függvényünk,
amely paraméterként egy számot és egy
függvényt fogad:
def test(num, func):
pass
Most hozzunk létre egy func függvényt,
amely egy számot a négyzetére emel:
def func(num):
return num ** 2
Most térjünk vissza a test függvényhez, és
írjunk kódot a testébe úgy, hogy az átadott
callback függvény paraméterként szintén egy számot fogadjon.
Ennek eredményeképpen a test eredménye
egy másik függvény munkája lesz, amelynek a száma
a test első paraméteréből származik:
def test(num, func):
print(func(num))
Ezután meghívjuk a test függvényt, és
átadjuk neki az első paraméterként a 3-at,
másodikként pedig a func függvényt:
test(3, func) # kiírja a 9-et
Mi lesz a következő kód végrehajtásának eredménye:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)