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

Как запустить декоратор не через @

Можно вызвать декоратор вручную, передав ему функцию в качестве аргумента. Декоратор — это просто функция, принимающая другую функцию и возвращающая новую.

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

def say_hello():
print("Привет!")

Применяем декоратор без @

decorated_func = my_decorator(say_hello)
decorated_func()

text

Результат:

До вызова функции
Привет!
После вызова функции

text

Также можно переопределить исходную функцию:
```python
say_hello = my_decorator(say_hello)
say_hello()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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