Функции-колбэки во Python
Во Python постои можност да се пренесуваат функции во параметрите на други функции. При тоа функциите се пренесуваат како променливи (без заградни загради) и се нарекуваат колбэки. Таквите функции-колбэки ќе се извршуваат во телото на главната функција.
Нека имаме функција test,
која како параметар прифаќа број и
функција:
def test(num, func):
pass
Сега да креираме функција func,
која ќе го подига бројот на квадрат:
def func(num):
return num ** 2
Сега да се вратиме на test и во
нејзиното тело да додадеме код, така што
функцијата-колбек пренесена како параметар
исто така како параметар да прифаќа број.
Како резултат, ќе испадне дека
резултатот од test ќе биде работа на друга
функција, каде што бројот за неа ќе се зема
од првиот параметар на test:
def test(num, func):
print(func(num))
Потоа ја повикуваме функцијата test и
й пренесуваме како прв параметар 3, а
како втор - func:
test(3, func) # ќе испечати 9
Кој ќе биде резултатот од извршувањето на следниот код:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)