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

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

Компании: Wildberries, JEDai, MirrorApp, Стилсофт, MTS, ООО Диджитал Сектор Поддержка, Aston, Ubic, Домклик, PositiveTechnologies, TrueEngineering, IPChain, JetLend, Фабрика решений, TradingView, ООО НТЦ Вулкан, praktika.ai, Сбер, Sunlight, mozen, ИВИ, Московский метрополитен

Стек: Python

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

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

Например, декораторы широко применяются для:

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

Простой пример:

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

Здесь @log_decorator - синтаксический сахар, эквивалентный add = log_decorator(add). Декораторы делают код чище и переиспользуемым, позволяя отделить инфраструктурную логику от бизнес-логики.

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

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