Функции-коллбэки в 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
Каким будет результат выполнения следующего кода:
pythondef get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)