Встречается на собеседованиях • сегодня

Почему аргумент decorator не подчищается

Декоратор в Python не подчищается (не вызывается автоматически), потому что он применяется только один раз — во время декорирования функции. После этого декоратор возвращает обёрнутую функцию, которая заменяет оригинальную. Последующие вызовы работают уже с этой обёрткой, а не с самим декоратором.

Пример:

python
def my_decorator(func):
    print("Декоратор вызван")
    def wrapper():
        print("До вызова функции")
        func()
        print("После вызова функции")
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

# При запуске кода сразу выведет "Декоратор вызван"
# Далее при вызове say_hello() будет работать wrapper
say_hello()

Вывод:

text
Декоратор вызван
До вызова функции
Hello!
После вызова функции
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы