在python里面时常看到稍微高级点的写法就加了个@
这是装饰器,之前一直没有使用过,今天好好弄懂下。
import functools
def log(func):
@functools.wraps(func)
def wrapper(*args, **kw):
print('call %s():' % func.__name__)
return func(*args, **kw)
return wrapper
这里相当于定义了一个log为decorator,功能是在执行函数前输出函数名。
可以通过在需要装饰的函数前加
@log