Python-da Ýakarlama Funksiýalar

Python-da funksiýalary beýleki funksiýalaryň parametrleri hökmünde ýollap bolýar. Bu ýagdaýda funksiýalar ýönekeý üýtgeýjiler ýaly (ýönekeý aýlawly skobkasyz) ýollanylýar we olara ýakarlama funksiýalar deýilýär. Şeýle ýakarlama funksiýalar esasy funksiýanyň gurňasynda işlediler.

Bizde test diýen funksiýa bar bolsun, onyň parametri hökmünde san we funksiýa kabul etýändigini aýdalyň:

pythondef test(num, func):
  pass

Indi func atly bir funksiýa döredeliň, ol sany kwadrat derejä göterýär:

pythondef func(num):
  return num ** 2

Indi test funksiýasyna gaýdyp baralyň we onyň gurňasyna parametr hökmünde ýollanan ýakarlama funksiýanyň hem öz parametri hökmünde san kabul etmegi üçin kody goşalyň. Netijede, test funksiýasynyň netijesi beýleki funksiýanyň işi bolar, onuň üçin sany test funksiýasynyň birinji parametrinden alynar:

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

Soňra test funksiýasyny çagyryp, onyň birinji parametri hökmünde 3, we ikinji parametri hökmünde func funksiýasyny ýollalyň:

pythontest(3, func) # 9 çykarar
Задание 1

Aşakdaky kodyň işiniň netijesi näme bolar:

pythondef get_Info(txt, func):
  print(func(txt))
  
def func(name):
  return 'ulanyjynyň ady ' + name
  
get_Info('john', func)