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