何为装饰器,首先它的原则是:1 不能修改被装饰的函数源代码 2 不能修改被装饰的函数的调用方式
其次:装饰器本质是实现某个函数功能的前提下,再辅助其实现所可能需要用上一段时间内的功能,请注意是一段时间内的功能,说明该功能可以随时切换,保存新功能。这个就是装饰器的价值所在了。
以下是装饰器的一些代码,如不懂的话,可以看完。利于加深对装饰器类似代码顺序执行的理解。
def a2(c1):
def c2():
print("装饰代码")
c1()
return c2
def a1(c0):
def c1():
print("装饰代码")
c0()
return c1
@a2
@a1
def c0():
print("nihao")
c0() ===> c2()