Для придания новой функциональности уже существующему коду в Python есть очень интересный инструмент под названием декоратор․ Декораторы принимают функцию‚ добавляют в нее некоторую функциональность и возвращают ее обратно․ Из данной статьи вы узнаете‚ как создавать декораторы и зачем это нужно делать․ Чтобы понять что такое декораторы‚ вы должны знать несколько базовых вещей в Python․ В первую очередь вас не должно удивлять‚ что в Python все является объектами․ Задаваемые нами имена – это просто идентификаторы‚ привязанные к конкретным объектам․ Функции также не являются исключением‚ это такие же объекты со своими атрибутами․ К одной и той же функции может быть привязано несколько совершенно разных имен․ При работе данного кода обе функции‚ first и second‚ дают один и тот же результат․ Это оттого‚ что имена first и second относятся к одному объекту․ Функции могут быть переданы в качестве аргументов в другие функции‚ например функции как map‚ filter или reduce‚ принимают функцию в каче