Приходилось ли вам работать с декораторами в Python? Что это такое?

Декоратор принимает функцию или класс и возвращает объект, который будет связан с прежним именем. @decorate над def f соответствует применению f = decorate(f).

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

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

Декоратор принимает функцию или класс и возвращает объект, который будет связан с прежним именем. @decorate над def f соответствует применению f = decorate(f).

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

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

Декоратор принимает функцию или класс и возвращает объект, который будет связан с прежним именем. @decorate над def f соответствует применению f = decorate(f).

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку