Povratne funkcije (callback) u Pythonu
U Pythonu postoji mogućnost da se funkcije prosleđuju kao parametri drugim funkcijama. Pritom se funkcije prosleđuju kao promenljive (bez okruglih zagrada) i nazivaju se povratnim funkcijama (callback). Takve povratne funkcije će se izvršavati u telu glavne funkcije.
Neka imamo funkciju test,
koja kao parametar prima broj i
funkciju:
def test(num, func):
pass
Sada hajde da kreiramo funkciju func,
koja će podići broj na kvadrat:
def func(num):
return num ** 2
Sada hajde da se vratimo na test i u
njeno telo dopišemo kod, tako da prosleđena
funkcija kao parametar takođe prima broj.
Kao rezultat, ispada da će rezultat
test biti rad druge
funkcije, gde će broj za nju biti uzet
iz prvog parametra test:
def test(num, func):
print(func(num))
Zatim pozivamo funkciju test i
prosleđujemo joj kao prvi parametar 3, a
kao drugi - func:
test(3, func) # ispisaće 9
Šta će biti rezultat izvršavanja sledećeg koda:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'korisničko ime je ' + name
get_Info('john', func)