from functools import wraps
def zsq(func):
@wraps(func)
def wrapper(*args,**kwargs):
print('111')
func(*args,**kwargs)
return wrapper
@zsq
def haha(a):
print(a)
# haha('hehe')
print(haha.__name__)
#zsq装饰器功能就是给haha函数加了一个print('111')功能,调用haha()函数时,等于执行的是wrapper的内容,haha().__name__
也变成了wrapper(),而@wraps(func)装饰器功能就是给wrapper()函数添加一个功能,再使wrapper.__name__变成haha()