Python函数–装饰器
装饰器的定义
给已有函数增加额外的功能的函数, 本质上和闭包类似
遵循封闭开放
的代码原则
语法糖的理解:
形象的理解为,加了一层糖衣包装,.但是本质不便还是一颗糖
函数还是函数,但是在函数外部进行了处理,从而达到装饰的作用
装饰器的使用
1 | # 第一步闭包 |
上面出来了神奇的一幕,竟然先执行了函数set_fun
最后在执行了函数自身的代码.这个就是装饰器的作用,test
是原本的业务代码,我们遵循封闭开放
的原则,在不改动原先代码的时候,同时也添加了新的功能.
这个函数执行的顺序是可变的,有需求是需要先打印test函数
输出,最后在调用语法糖的内容,只需要吧func()
放在print
前面即可,不管是否是在前在后都是可以的.