Sobes.tech
Back to questions
Junior — Middle
81

Объясните, что такое шаблон декоратор в Python и как его применять.

Answer from AI

sobes.tech AI

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

Применение:

  • Позволяет добавлять логирование, проверку прав, кеширование и другие аспекты без дублирования кода.
  • Используется с синтаксисом @decorator над определением функции.

Пример:

def decorator(func):
    def wrapper(*args, **kwargs):
        print(f"Вызов функции {func.__name__}")
        result = func(*args, **kwargs)
        print(f"Функция {func.__name__} завершена")
        return result
    return wrapper

@decorator
def say_hello(name):
    print(f"Привет, {name}!")

say_hello("Мир")

В этом примере при вызове say_hello сначала выводится сообщение о начале вызова, затем выполняется сама функция, и после — сообщение о завершении.