装饰器的作用与定义
现在理解的装饰器就是给一个方法添加新功能时使用的。通过装饰器添加扩展功能更安全,更易维护。
装饰器本身其实就是一个闭包的函数,在内函数中调用原函数的方法,来对原函数进行功能扩展。
装饰器的出现,是为了解决开发中一个 开放封闭原则:对修改是封闭的,对扩展是开放的。
def wrapper (func): def inner (): print(0) ret = func() print(1) return ret return ret @wrapper #语法糖 def func (): print(0.5)
https://gist.github.com/SunXianyong/055f58b2eecb29cdf10476f04885693c