python复习--装饰器


一个装饰器

from functools import wrapper

def log(func):
    @wraps(func)
    def wrapper(*args, **kw):
        print('call %s():' % func.__name__)
        return func(*args, **kw)
    return wrapper

或者针对带参数的decorator:

def log(text):
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kw):
            print('%s %s():' % (text, func.__name__))
            return func(*args, **kw)
        return wrapper
    return decorator
作者: honmaple
链接: https://honmaple.me/articles/2016/07/python复习--装饰器.html
版权: 知识共享署名-非商业性使用-相同方式共享4.0国际许可协议
wechat