Декораторы в Python позволяют добавлять дополнительное поведение к функциям, улучшая читаемость и поддерживаемость кода.
Они берут функцию в качестве аргумента и возвращают новую функцию, добавляя к ней функционал. Например, вы можете создать декоратор, который выводит сообщения до и после вызова целевой функции.
Вот как можно создать простой декоратор:
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Перед вызовом функции")
result = func(*args, **kwargs)
print("После вызова...
Источник: Nuances of Programming Декораторы представляют собой удобный для восприятия человеком способ расширения возможностей функции, метода или класса извне. Использование декораторов особенно полезно при декорировании (т. е. расширении) похожих функций для выполнения ими одного и того же, но без добавления ненужных повторений в коде. Вот простой пример того, как расширить функцию с помощью декоратора: @guard_zero
def divide(x, y):
return x / y Декоратор @guard_zero расширяет функциональность метода divide тем, что не допускает деления на 0...