Да, в Python функция является объектом: её можно передать аргументом, сохранить в переменной и вызвать внутри другой функции.
Можно ли передавать функцию в качестве аргумента другой функции?
Да, в Python функция является объектом: её можно передать аргументом, сохранить в переменной и вызвать внутри другой функции.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Да, в Python функция является объектом: её можно передать аргументом, сохранить в переменной и вызвать внутри другой функции.
Пример передачи поведения:
def apply(value, transform):
return transform(value)
def double(value):
return value * 2
print(apply(5, double)) # 10
Передают double без скобок. Выражение double(5) сначала вызовет функцию и передаст уже результат. Такой приём используется в callbacks, key для сортировки и декораторах. Важно согласовать ожидаемую сигнатуру и обработку ошибок; возможность передать любой объект не означает, что он подходит по контракту.