多层装饰器原理
- 最外层接收装饰器的参数
- 第二层传递函数, 返回值为下一层函数,不调用
- 其他内层返回下一层函数的调用
- 最内层包装被装饰的函数, 如果被装饰的函数有返回值则返回
def one(args, cc):
print('----args--', args, cc)
def two(func):
print('----two')
def three():
print('----three----')
def four():
print('----four----')
def five():
print('five---')
return func()
return five()
return four()
return three
return two
@one(args=1, cc=2)
def func():
return 'func--0'