因困扰自己多时,打算整理一下修饰器到底是什么?
修饰器
1. 定义2个函数
2. 基本实现
3. 问题:实现后, 要修改原来代码中的变量名, funcB()改为funcA(funcB)
4. ...解决方法:让funcB赋值等于funcA(funcB),用时就是funcB(), 不用修改原来代码, 这个要求需funcA(funcB)返回的是一个函数
a) 所以要返回一个函数,则加一个函数 ...wrapper(),然后return 函数; 将原来代码写进wrapper(),方便多次调用
5. python的语法糖@, funcB = funcA(funcB),@funcA, 简写代码, 注意写对位置...解决方法:让funcB赋值等于funcA(funcB),用时就是funcB(), 不用修改原来代码, 这个要求需funcA(funcB)返回的是一个函数
# 所以要返回一个函数,则加一个函数 wrapper...funcA() #func2()执行的是wrapper()
最后python的语法糖@, 将funcB = funcA(funcB)改为 @funcA,简写代码, 注意写对位置,写在funcB()的前面