Sobes.tech
Middle
25

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

Компании, где спрашивали
СБЕРСБЕР
ДомкликДомклик

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

sobes.tech AI

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

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

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

Пример простого декоратора, который выводит сообщение перед и после вызова функции:

def my_decorator(func):
    def wrapper(*args, **kwargs):
        print("До вызова функции")
        result = func(*args, **kwargs)
        print("После вызова функции")
        return result
    return wrapper

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

say_hello("Мир")

Вывод:

До вызова функции
Привет, Мир!
После вызова функции

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