Когда выполняется декоратор
Python
Senior
Без компании
Когда выполняется декоратор
Ответы
Декоратор выполняется в момент определения функции, а не во время её вызова. Это означает, что код декоратора запускается сразу при интерпретации файла Python, где он определён.
Пример:
```
def my_decorator(func):
print("Декоратор выполняется")
def wrapper():
print("До вызова функции")
func()
print("После вызова функции")
return wrapper
@my_decorator
def say_hello():
print("Привет!")
# Вывод: "Декоратор выполняется" появится сразу,
# даже если say_hello() ещё не вызывалась
say_hello() # Теперь выполнится wrapper
```
Ключевые моменты:
- Декоратор выполняется один раз при загрузке модуля
- Он возвращает новую функцию (обычно wrapper)
- При вызове декорированной функции выполняется wrapper