Карточка Junior Декораторы спрашивают часто обновлено

Что такое декоратор

Вопрос

Дайте определение декоратора в Python.

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

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

Ответ

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

Разбор

Работает благодаря тому, что функции объекты первого класса, а обёртка помнит исходную функцию через замыкание.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.