К чему может быть применен декоратор
Python
Middle
Без компании
К чему может быть применен декоратор
Ответы
Декоратор в Python — это функция, которая принимает другую функцию и расширяет её поведение без изменения исходного кода. Применяется для:
- **Логирования** — запись вызовов функций и их аргументов.
- **Кеширования** — сохранение результатов вычислений (например, `@functools.lru_cache`).
- **Проверки прав доступа** — авторизация перед выполнением функции.
- **Тайминга** — измерение времени выполнения функции.
- **Валидации** — проверка входных/выходных данных.
Пример:
```
def log_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f"Время выполнения: {time.time() - start:.2f} сек")
return result
return wrapper
@log_time
def heavy_computation():
time.sleep(1)
return "Готово!"
heavy_computation() # Выведет время выполнения
```