python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。一般而言,我们要想拓展原来函数代码,最直接的办法就是侵入代码里面修改,但是有时候需要修改的代码特别重要,不允许在里面修改,这时候就需要用到装饰器了。
这里的set_fun函数就是最原始的装饰器,它的参数是一个函数,然后返回值也是一个函数。其中作为参数的这个函数test()就在返回函数wrapper()的内部执行。然后在函数test()前面加上@set_fun,test()函数就相当于被注入了新的功能,现在只要调用test(),它就已经变身为“新的更多功能”的函数了。
多个装饰器执行的顺序就是从最后一个装饰器开始,执行到第一个装饰器,再执行函数本身。
|
|