Встречается на собеседованиях • сегодня
Зачем нужна вложенная функция декоратора в Python
Вложенная функция в декораторе нужна для сохранения состояния и обертывания оригинальной функции. Декоратор принимает функцию, а вложенная (wrapper) заменяет её поведение, добавляя логику до/после вызова.
python
def my_decorator(func):
def wrapper(*args, **kwargs):
print("До вызова функции")
result = func(*args, **kwargs)
print("После вызова функции")
return result
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
text
**Зачем вложенность?**
1. `wrapper` получает аргументы оригинальной функции.
2. Позволяет модифицировать поведение, не меняя исходный код.
3. Сохраняет контекст (`func` доступна внутри `wrapper`).
Без вложенности декоратор не смог бы принимать аргументы функции и возвращать результат.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы