在带有参数的的函数进行装饰时
def pri(func):
def one(*a,**b): # 这里要带参
func(*a,**b) # 这里也要带参
return one
@pri
def test(*a,**b): # 不定长参数
print(a,b)
test(1,2,a=2)
def pri(func):
def one():
return func() # 要将func()返回
return one
@pri
def test():
return True
print(test())
def outer(args):
def pri(func):
def one():
return func(args)
return one
return pri
@outer('hello') # test=outer('hello')(test)
def test(args):
return args
print(test())