Python да функция-коллбэклар
Python да функцияларни бошқа функцияларнинг параметрларига ўтказиш имкони мавжуд. Бунда функциялар ўзгарувчилар каби (айланма қавссиз) ўтказилади ва коллбэклар деб аталади. Ушбу функция-коллбэклар асосий функциянинг танисида бажарилади.
Бизда test функцияси мавжуд бўлиб,
у параметр сифатида сон ва
функцияни қабул қилади:
def test(num, func):
pass
Энди func функциясини яратамиз,
у сонни квадрат даражага кўтаради:
def func(num):
return num ** 2
Энди test га қайтамиз ва унинг
танисига код ёзамиз, ўтказилган
функция-коллбэк ҳам параметр сифатида
сонни қабул қилсин. Натижада test
нинг натижаси бошқа функциянинг иши бўлади,
унунг учун сон test ning биринчи
параметридан олинади:
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 'фойдаланувчи номи ' + name
get_Info('john', func)