Функции-колбэки во 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 'user name is ' + name
  
get_Info('john', func)