> Что такое декоратор в Python и для чего он используется? (Python)
Уровень: junior · Роль: qa · Категория: Технические вопросы
Компании: Домклик, Сбер
Стек: Python
> Пример ответа
Декоратор в Python - это функция, которая принимает другую функцию или метод в качестве аргумента, добавляет к ней некоторое поведение и возвращает изменённую версию. Основное назначение декораторов - модификация или расширение функциональности существующего кода без изменения его исходного текста. Это реализуется с помощью синтаксиса @decorator_name, который является синтаксическим сахаром для вызова декоратора.
Декораторы широко используются для:
- Логирования вызовов функций.
- Измерения времени выполнения.
- Проверки прав доступа или аутентификации.
- Кэширования результатов.
- Регистрации функций в системе (например, в веб-фреймворках).
Пример простого декоратора для логирования:
PYTHONdef log_decorator(func):def wrapper(*args, **kwargs):print(f"Вызов функции {func.__name__} с аргументами {args}, {kwargs}")result = func(*args, **kwargs)print(f"Функция {func.__name__} вернула {result}")return resultreturn wrapper@log_decoratordef add(a, b):return a + badd(3, 5) # Вывод: Вызов функции add с аргументами (3, 5), {} -> Функция add вернула 8
Декораторы повышают читаемость и переиспользуемость кода, позволяя отделить сквозную функциональность от основной логики.
> Похожие задачи по qa
Что будет, если вызвать max вместо idxmax для поиска максимального значения?
В чем разница реляционных и нереляционных баз данных
Используете ли Git
Как оптимизировать SQL запросы
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью