接收的时候是聚合,调用的时候是打散
print(*args)本来在里面用的时候是用args,是一个元祖,加上一个 * 号,把元祖解包了(打散了)。
from functools import wraps def wrapper(func): @wraps(func) def inner(*args,**kwargs): print('在被修饰的函数前面') ret=func(*args,**kwargs) print('在被修饰的函数后面') return ret return inner @wrapper def funcc(a): print('哈哈哈哈哈哈哈哈哈哈哈哈',a) print(funcc.__name__,type(funcc.__name__))
结果:funcc <class 'str'>