每天一个芝士点

Python装饰器

2020-06-18  本文已影响0人  抄书侠

在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
上一篇 下一篇

猜你喜欢

热点阅读