Как используется декоратор в Python
Python
Senior
Билайн
Как используется декоратор в Python
Ответы
Декоратор в Python — это функция, которая принимает другую функцию и расширяет её поведение без изменения её кода. Декораторы применяются с помощью синтаксиса `@decorator_name` перед определением функции.
**Пример:**
```
def log_time(func):
def wrapper(*args, **kwargs):
import time
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f"Время выполнения: {end - start:.2f} сек.")
return result
return wrapper
@log_time
def slow_function():
import time
time.sleep(2)
slow_function() # Выведет: "Время выполнения: 2.00 сек."
```
**Ключевые моменты:**
- Декоратор возвращает новую функцию (обычно `wrapper`), которая заменяет оригинальную.
- `*args` и `**kwargs` позволяют декоратору работать с любыми функциями.
- Декораторы можно накладывать друг на друга (`@decor1 @decor2`).