Callback funkcie v Pythone
V Pythone existuje možnosť odovzdávať funkcie ako parametre iných funkcií. Pri tom sa funkcie odovzdávajú ako premenné (bez okrúhlych zátvoriek) a nazývajú sa kolbéky. Takéto callback funkcie sa vykonajú v tele hlavnej funkcie.
Majme funkciu test,
ktorá ako parameter prijíma číslo a
funkciu:
def test(num, func):
pass
Teraz vytvorme funkciu func,
ktorá bude umocňovať číslo na druhú:
def func(num):
return num ** 2
Teraz sa vráťme k test a do
jej tela dopíšme kód tak, aby odovzdaná
funkcia-callback ako parameter tiež
prijímala číslo. Nakoniec to dopadne tak, že
výsledkom test bude práca inej
funkcie, pričom číslo pre ňu bude brané
z prvého parametra test:
def test(num, func):
print(func(num))
Ďalej voláme funkciu test a
odovzdáme jej ako prvý parameter 3, a
ako druhý - func:
test(3, func) # vypíše 9
Aký bude výsledok vykonania nasledujúceho kódu:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)