python - 解释器


def funA(a):
def wrapper():
print("funA")
a()
return wrapper

#传入的是函数名b,不是调用的函数b()
def funB(b):
def myfunc(*args):
for item in args:
#不管*args传的值有多少,整个args是一个元组,b(*args),传入的是一个元组
b(item)
#返回的仍然是函数名,只有调用才会成功
return myfunc

#按元组形式接受
def test(*args):
print('test:',type(args),args)

#按正常variable接受
@funB
def test1(variable):
print('test1:',type(variable),variable)

# 修饰符@实际做了这些事
test=funB(test)
test(1,2,3,4)
print('----------------------')
# 等价于,注意test1中传入的1,2,3,4参数相当于调用的是myfunc(1,2,3,4)
test1(1,2,3,4)