Python'догу коллбэк функциялар

Python'до функцияларды башка функциялардын параметрлерине өткөрүү мүмкүнчүлүгү бар. Бул учурда функциялар өзгөрмөлөр сыяктуу (жаалча кашаасыз) өткөрүлөт жана алар коллбэктер деп аталат. Бул коллбэк функциялар негизги функциянын денесинде аткарылат.

Анда бизде test деген функция болсун, ал параметр катары санды жана функцияны кабыл алат:

pythondef test(num, func):
  pass

Эми func деген функция түзөлү, ал санды квадрат даражага көтөрөт:

pythondef func(num):
  return num ** 2

Эми test функциясына кайтып, анын денесине параметрге өткөрүлгөн коллбэк функциясы да параметр катары санды кабыл алышы үчүн код кошолу. Натыйжада test функциясынын натыйжасы башка функциянын иши болот, ал функция үчүн сан test функциясынын биринчи параметринен алынат:

pythondef test(num, func):
  print(func(num))

Андан кийин test функциясын чакырып, анын биринчи параметрине 3 санын, экинчисине - func функциясын беребиз:

pythontest(3, func) # 9 чыгарат
Задание 1

Төмөнкү кодду аткаруунун натыйжасы кандай болот:

pythondef get_Info(txt, func):
  print(func(txt))
  
def func(name):
  return 'колдонуучунун аты ' + name
  
get_Info('john', func)