传递两个参数
def func(functionname):
def func_in(a,b):#如果a ,b没有定义,那么会导致16行调用失败
print("func_in...")
functionname(a, b)#如果没有吧a,b当做实参进行传递,那么会导致调用12行的函数失败
print("func2...")
return func_in
@func
def test(a, b):
print("test a = %d, b = %d..."%(a,b))
#test = func(test)
test(11,22)
传递不定长参数
def func(functionname):
def func_in(*args, **kwargs):#如果a ,b没有定义,那么会导致16行调用失败
print("func_in...")
functionname(*args, **kwargs)#如果没有吧a,b当做实参进行传递,那么会导致调用12行的函数失败
print("func2...")
return func_in
@func
def test(a, b, c):
print("test a = %d, b = %d, c = %d..."%(a,b,c))
@func
def test2(a, b, c, d):
print("test a = %d, b = %d, c = %d, d = %d..."%(a,b,c,d))
#test = func(test)
test(12,13,14)
test2(78,62,99,57)