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

Как применить декоратор без декорирования функции

Для применения декоратора без декорирования функции можно использовать ручной вызов декоратора, передав ему функцию в качестве аргумента. Это полезно, когда нужно временно отключить декоратор или применить его динамически.

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

def my_function():
print("Оригинальная функция")

Обычное применение декоратора

@my_decorator
def decorated_function():
print("Декорированная функция")

Применение без синтаксиса @

manual_decorated = my_decorator(my_function)

decorated_function() # Вызовет декорированную версию
manual_decorated() # Аналогичный результат
my_function() # Вызовет оригинальную функцию

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

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

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

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