Встречается на собеседованиях • сегодня

Как работает декоратор

Декоратор в Python — это функция, которая принимает другую функцию и расширяет её поведение без изменения её кода. Декораторы оборачивают целевую функцию, добавляя логику до/после вызова или модифицируя аргументы/результат.

Пример простого декоратора:

python
def my_decorator(func):
    def wrapper():
        print("До вызова функции")
        func()
        print("После вызова функции")
    return wrapper

@my_decorator
def say_hello():
print("Привет!")

say_hello()

text

Вывод:

До вызова функции
Привет!
После вызова функции

text

Ключевые моменты:
1. Декоратор принимает функцию как аргумент
2. Возвращает новую функцию (обычно `wrapper`)
3. Синтаксис `@decorator` — это "сахар" для `func = decorator(func)`
4. Для сохранения метаданных используют `functools.wraps`

Декораторы часто применяют для:
- Логирования
- Замеров времени выполнения
- Кеширования
- Проверки прав доступа
- Транзакций БД
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы