Vitendo-vigeu (Callbacks) katika Python
Katika Python kuna uwezekano wa kupitisha vitendo katika vigeu vya vitendo vingine. Wakati huo vitendo vinapitiswa kama vigeu (bila mabano ya mviringo) na huitwa vitendo-vigeu (callbacks). Vitendo hivi-vigeu vitatekelezwa katika mwili wa kitendo kikuu.
Wacha tuwe na kitendo test,
kinachokubali namba kama kigeu na
kitendo:
def test(num, func):
pass
Sasa wacha tuunde kitendo func,
ambacho kitainua namba kwa mraba:
def func(num):
return num ** 2
Sasa wacha turudi kwenye test na katika
mwili wake tuandae msimbo, ili kitendo-vigeu kilichopitishwa
katika kigeu pia kikubali namba kama kigeu. Mwishowe itafika
kwamba matokeo ya test yatakuwa kazi ya kitendo kingine,
ambacho namba yake itachukuliwa
kutoka kwa kigeu cha kwanza cha test:
def test(num, func):
print(func(num))
Ifuatayo tunaita kitendo test na
tunakipitishia kigeu cha kwanza 3, na
cha pili - func:
test(3, func) # itatoa 9
Matokeo yatakuwa nini kutokana na utekelezaji wa msimbo ufuatao:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'Jina la mtumiaji ni ' + name
get_Info('john', func)