装饰器的作用与定义

  现在理解的装饰器就是给一个方法添加新功能时使用的。通过装饰器添加扩展功能更安全,更易维护。

装饰器本身其实就是一个闭包的函数,在内函数中调用原函数的方法,来对原函数进行功能扩展。

装饰器的出现,是为了解决开发中一个 开放封闭原则:对修改是封闭的,对扩展是开放的。

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