Funcții callback în Python

În Python există posibilitatea de a transmite funcții în parametrii altor funcții. În acest caz funcțiile sunt transmise ca variabile (fără paranteze rotunde) și se numesc funcții callback. Aceste funcții-callback vor fi executate în corpul funcției principale.

Să presupunem că avem funcția test, care ca parametru primește un număr și o funcție:

pythondef test(num, func):
  pass

Acum să creăm funcția func, care va ridica numărul la pătrat:

pythondef func(num):
  return num ** 2

Acum să ne întoarcem la test și în corpul ei să adăugăm cod, astfel încât funcția transmisă ca parametru să primească și ea un număr ca parametru. În final, va rezulta că rezultatul test va fi execuția altei funcții, numărul pentru care va fi luat din primul parametru al funcției test:

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

Apoi apelăm funcția test și îi transmitem ca prim parametru 3, iar ca al doilea - func:

pythontest(3, func) # va afișa 9
Задание 1

Care va fi rezultatul executării următorului cod:

pythondef get_Info(txt, func):
  print(func(txt))
  
def func(name):
  return 'user name is ' + name
  
get_Info('john', func)