Можно ли передавать функцию в качестве аргумента другой функции?

Да, в 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 для сортировки и декораторах. Важно согласовать ожидаемую сигнатуру и обработку ошибок; возможность передать любой объект не означает, что он подходит по контракту.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее