Как работает декоратор

Python Middle Без компании
Как работает декоратор
Ответы
Декоратор в Python — это функция, которая принимает другую функцию и расширяет её поведение без изменения её кода. Декораторы оборачивают целевую функцию, добавляя логику до/после вызова или модифицируя аргументы/результат. Пример простого декоратора: ``` def my_decorator(func): def wrapper(): print("До вызова функции") func() print("После вызова функции") return wrapper @my_decorator def say_hello(): print("Привет!") say_hello() ``` Вывод: ``` До вызова функции Привет! После вызова функции ``` Ключевые моменты: - Декоратор принимает функцию как аргумент - Возвращает новую функцию (обычно `wrapper`) - Синтаксис `@decorator` — это "сахар" для `func = decorator(func)` - Для сохранения метаданных используют `functools.wraps` Декораторы часто применяют для: - Логирования - Замеров времени выполнения - Кеширования - Проверки прав доступа - Транзакций БД