python装饰器

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()

你可能感兴趣的:(python装饰器)