在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玫恳,功能是在執(zhí)行函數(shù)前輸出函數(shù)名。
可以通過在需要裝飾的函數(shù)前加
@log