Функции-коллбэки в 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)