Что такое декораторы в Python?

Декоратор — вызываемый объект, который преобразует функцию или класс. Синтаксис @decorator позволяет применить это преобразование при определении объекта.

Короткий ответ

Что ответить на собеседовании

Декоратор — вызываемый объект, который преобразует функцию или класс. Синтаксис @decorator позволяет применить это преобразование при определении объекта.

Подробный разбор

Ответ с пояснениями

Декоратор — вызываемый объект, который преобразует функцию или класс. Синтаксис @decorator позволяет применить это преобразование при определении объекта.

Типичный декоратор возвращает обёртку, добавляющую действие до или после вызова функции: логирование, проверку доступа, кеширование. Он также может вернуть иной совместимый объект.

Запись @decorator над функцией f по смыслу соответствует f = decorator(f). Для обёрток обычно используют functools.wraps, чтобы сохранить имя и документацию исходной функции. Декоратор с параметрами добавляет ещё один уровень: сначала создаётся декоратор, затем он применяется к функции.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее