Функции-коллбэки в Python
В Python есть возможность передавать функции в параметры других функций. При этом функции передаются как переменные (без круглых скобок) и называются коллбэками. Такие функции-коллбэки будут выполняться в теле основной функции.
Пусть у нас есть функция test
,
которая параметром принимает число и
функцию:
def test(num, func):
pass
Теперь давайте создадим функцию func
,
которая будет возводить число в квадратную
степень:
def func(num):
return num ** 2
Теперь давайте вернемся к test
и в
ее теле допишем код, чтобы переданная в
параметр функция-коллбэк также параметром
принимала число. В итоге получится, что
результатом test
будет работа другой
функции, число для которой будет браться
из первого параметра test
:
def test(num, func):
print(func(num))
Далее вызываем функцию test
и
передаем ей первым параметром 3
, а
вторым - func
:
test(3, func) # выведет 9
Каким будет результат выполнения следующего кода:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)