Funkcje zwrotne (callback) w Pythonie

W Pythonie istnieje możliwość przekazywania funkcji jako parametrów innych funkcji. W takim przypadku funkcje są przekazywane jako zmienne (bez okrągłych nawiasów) i nazywane są funkcjami zwrotnymi (callback). Takie funkcje zwrotne będą wykonywane w ciele funkcji głównej.

Załóżmy, że mamy funkcję test, która przyjmuje jako parametr liczbę i funkcję:

pythondef test(num, func):
  pass

Teraz utwórzmy funkcję func, która będzie podnosić liczbę do kwadratu:

pythondef func(num):
  return num ** 2

Teraz wróćmy do test i w jej ciele dopiszmy kod, tak aby przekazana w parametrze funkcja zwrotna również przyjmowała liczbę jako parametr. Ostatecznie okaże się, że wynikiem test będzie wykonanie innej funkcji, gdzie liczba dla niej będzie brana z pierwszego parametru test:

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

Następnie wywołujemy funkcję test i przekazujemy jej pierwszym parametrem 3, a drugim - func:

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

Jaki będzie wynik wykonania następującego kodu:

pythondef get_Info(txt, func):
  print(func(txt))
  
def func(name):
  return 'nazwa użytkownika to ' + name
  
get_Info('john', func)