def decorator_a(func):print('Get in decorator_a')
def inner_a(*args,**kwargs):print('Get in inner_b')
res =func(*args,**kwargs) #返回值在两个定义的函数中都要定义
return res
return inner_a
def decorator_b(func):print('Get in decorator_b')
def inner_b(*args,**kwargs):print('Get in inner_b')
res =func(*args,**kwargs) #返回值在两个定义的函数中都要定义,且这个返回值的结果在最后执行
return res
return inner_b
@decorator_b
@decorator_a
def f(x):print('Get in f')return x *2print(f(1))
结果:
Get in decorator_a
Get in decorator_b
Get in inner_b
Get in inner_b
Get in f
2