Зачем нужен декоратор в Python

Python Senior Без компании
Зачем нужен декоратор в Python
Ответы
Декораторы позволяют динамически изменять поведение функции или класса без изменения их исходного кода. Они оборачивают целевую функцию, добавляя дополнительную логику до/после вызова. Основные применения: - Логирование - Кеширование - Проверка прав доступа - Замер времени выполнения - Повторные попытки при ошибках Пример простого декоратора: ``` 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_calculation(): time.sleep(1) return 42 ``` Декораторы делают код чище, разделяя основную логику и вспомогательную функциональность. Они реализуют принцип DRY (Don't Repeat Yourself) и позволяют легко переиспользовать общую логику для разных функций.