Sobes.tech
Назад к вопросам
Junior — Middle
72

В каких случаях уместно использовать декоратор в коде?

Ответ от нейросети

sobes.tech AI

Декоратор в Python уместно использовать, когда нужно добавить дополнительное поведение к функции или методу без изменения их исходного кода. Это позволяет реализовать повторно используемые обертки для логирования, проверки прав доступа, измерения времени выполнения и других аспектов.

Примеры случаев использования декоратора:

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

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

def log_calls(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_calls
def add(a, b):
    return a + b

add(2, 3)

Использование декоратора помогает отделить дополнительную логику от основной, делая код чище и удобнее для поддержки.