Python-da Callback Funksiyalari
Python-da boshqa funksiyalarga funksiyalarni parametr sifatida uzatish imkoniyati mavjud. Bunda funksiyalar o'zgaruvchilar kabi (yumaloq qavslarsiz) uzatiladi va callback deb ataladi. Bunday callback funksiyalari asosiy funksiya tana qismida bajariladi.
Faraz qilaylik, bizda test funksiyasi bor,
uning parametri sifatida son va
funksiya qabul qilinadi:
def test(num, func):
pass
Endi func funksiyasini yaratamiz,
u sonni kvadrat darajaga ko'taradi:
def func(num):
return num ** 2
Endi test ga qaytamiz va uning
tana qismiga kod yozamiz, shunda parametr sifatida uzatilgan
callback funksiyasi ham o'z parametri sifatida son qabul qilsin.
Natijada, test ning natijasi boshqa
funksiyaning ishlashi bo'ladi, uning uchun son
test ning birinchi parametridan olinadi:
def test(num, func):
print(func(num))
Keyin test funksiyasini chaqiramiz va
unga birinchi parametr sifatida 3 ni,
ikkinchisi sifatida esa func ni uzatamiz:
test(3, func) # 9 ni chiqaradi
Quyidagi kodni bajarish natijasi nima bo'ladi:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)