Python с нуля. Урок №55. Классы. Геттеры и сеттеры.
Что на самом деле делает @decorator в Python — без магии
Синтаксис @timer выглядит как отдельная магия Python, но под ним скрывается одно обычное присваивание: slow = timer(slow). Если понять эту строку, становятся предсказуемыми время запуска декоратора, пропавшее имя функции и ошибки в wrapper. Разберём механизм на коротком примере. Без фабрик, классов и пяти уровней вложенности — только то, что нужно, чтобы читать и писать обычные декораторы. Декоратор функции — вызываемый объект, который получает созданную функцию и возвращает значение для её имени...