184 читали · 2 года назад
Введение в декораторы. Python
В нескольких следующих постах я хочу поговорить о декораторах. Будет базовое определение, мотивация их использовать, всякие хитрости, а еще куча примеров. Прежде, чем говорить о декораторах, нужно кое- что узнать о функциях в Python. Допустим, у нас есть функция, которая здоровается с Юпи: def hey_Jupi(): print("Привет, Юпи!") Функции в Python -- это объекты первого класса, ничем не хуже, чем int'ы или словари. Это значит, что: 🐙 Функцию можно присвоить переменной: say_hi = hey_Jupi say_hi() # Привет, Юпи! 🐙 Функцию можно вернуть из функции: def wrapper(func): print("Юпи пришла...
157 читали · 3 года назад
Декораторы в Python за три минуты
Источник: Nuances of Programming Декораторы представляют собой удобный для восприятия человеком способ расширения возможностей функции, метода или класса извне. Использование декораторов особенно полезно при декорировании (т. е. расширении) похожих функций для выполнения ими одного и того же, но без добавления ненужных повторений в коде. Вот простой пример того, как расширить функцию с помощью декоратора: @guard_zero def divide(x, y): return x / y Декоратор @guard_zero расширяет функциональность метода divide тем, что не допускает деления на 0...