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 'колдонуучунун аты ' + name
get_Info('john', func)