python复习--装饰器

python 装饰器

一个装饰器

1from functools import wraps
2
3def log(func):
4    @wraps(func)
5    def wrapper(*args, **kw):
6        print('call %s():' % func.__name__)
7        return func(*args, **kw)
8    return wrapper

或者针对带参数的decorator:

1def log(text):
2    def decorator(func):
3        @wraps(func)
4        def wrapper(*args, **kw):
5            print('%s %s():' % (text, func.__name__))
6            return func(*args, **kw)
7        return wrapper
8    return decorator