> Что такое декоратор в Python и для чего он используется? (Python)

Уровень: junior · Роль: qa · Категория: Технические вопросы

Компании: Домклик, Сбер

Стек: Python

> Пример ответа

Декоратор в Python - это функция, которая принимает другую функцию или метод в качестве аргумента, добавляет к ней некоторое поведение и возвращает изменённую версию. Основное назначение декораторов - модификация или расширение функциональности существующего кода без изменения его исходного текста. Это реализуется с помощью синтаксиса @decorator_name, который является синтаксическим сахаром для вызова декоратора.

Декораторы широко используются для:

  • Логирования вызовов функций.
  • Измерения времени выполнения.
  • Проверки прав доступа или аутентификации.
  • Кэширования результатов.
  • Регистрации функций в системе (например, в веб-фреймворках).

Пример простого декоратора для логирования:

PYTHON
def log_decorator(func):
def wrapper(*args, **kwargs):
print(f"Вызов функции {func.__name__} с аргументами {args}, {kwargs}")
result = func(*args, **kwargs)
print(f"Функция {func.__name__} вернула {result}")
return result
return wrapper
@log_decorator
def add(a, b):
return a + b
add(3, 5) # Вывод: Вызов функции add с аргументами (3, 5), {} -> Функция add вернула 8

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

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью