二个装饰器装饰一个函数图解大法:
二个装饰器装饰器一个函数内存图指向过程:
装饰器传参:
在闭包外层再套一层,返回闭包的引用
def set_args(args):
def set_fun(func):
def call_fun(*args,**kwargs):
return func(*args,**kwargs)
return call_fun
return set_fun
@set_args("xx") #这个要分两步执行,第一步执行set_args("xx")函数得到一个闭包的最外层的引用,第二步去@闭包的最外层引用去执行原先的装饰器过程
def test():
print("test")