Встречается на собеседованиях • сегодня
Какой механизм лежит в основе работы декоратора
Декоратор в Python — это функция, которая принимает другую функцию и расширяет её поведение, не изменяя исходный код. В основе лежит синтаксический сахар и замыкания.
- Синтаксис:
Эквивалентно:python
@decorator def func(): ...pythonfunc = decorator(func)
- Пример декоратора:
python
def logger(func): def wrapper(*args, **kwargs): print(f"Calling {func.__name__}") return func(*args, **kwargs) return wrapper @logger def greet(name): return f"Hello, {name}!" print(greet("Alice")) # Выведет: Calling greet\nHello, Alice!
Как работает:
loggerпринимаетgreet, оборачивает её вwrapper.- При вызове
greet()выполняетсяwrapper, который добавляет логирование перед вызовом исходной функции.
Нюансы:
- Для сохранения метаданных (
__name__,__doc__) используютfunctools.wraps. - Декораторы могут принимать аргументы через дополнительное замыкание.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы