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

Декоратор преобразует функцию или класс и позволяет добавить поведение без изменения места вызова. Частый пример — обёртка для логирования или проверки доступа.

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

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

Декоратор преобразует функцию или класс и позволяет добавить поведение без изменения места вызова. Частый пример — обёртка для логирования или проверки доступа.

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

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

Декоратор преобразует функцию или класс и позволяет добавить поведение без изменения места вызова. Частый пример — обёртка для логирования или проверки доступа.

Синтаксис @d над функцией f соответствует применению d к f и сохранению возвращённого объекта под тем же именем. Декоратор выполняется при определении, а код обёртки — при последующих вызовах.

Для обычной обёртки используйте functools.wraps и передавайте аргументы корректно. Не подавляйте исключения случайно. Если оборачивается async-функция, нужно сохранить подходящий асинхронный контракт.

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

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

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

Подробнее