Callback funkce v Pythonu
V Pythonu existuje možnost předávat funkce jako parametry jiných funkcí. Přitom se funkce předávají jako proměnné (bez kulatých závorek) a nazývají se kolbeky. Takové callback funkce budou provedeny v těle hlavní funkce.
Předpokládejme, že máme funkci test,
která jako parametr přijímá číslo a
funkci:
def test(num, func):
pass
Nyní vytvoříme funkci func,
která bude umocňovat číslo na druhou:
def func(num):
return num ** 2
Nyní se vraťme k test a v
jejím těle doplňme kód tak, aby předaná
callback funkce také jako parametr
přijímala číslo. Nakonec to dopadne tak,
že výsledkem test bude práce jiné
funkce, přičemž číslo pro ni bude bráno
z prvního parametru test:
def test(num, func):
print(func(num))
Dále voláme funkci test a
předáme jí jako první parametr 3, a
jako druhý - func:
test(3, func) # vypíše 9
Jaký bude výsledek provedení následujícího kódu:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)