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