> 日志执行时间记录
# 设计一个装饰器,打印函数执行的时间 def metric(func): @functools.wraps(func) def wrapper(*arg, **kw): startTime = time.time res = func(*arg, **kw) endTime = time.time print('call [%s], now is [%.4f]' %(func.__name__, endTime-startTime)) return res return wrapper
# 设计在 函数调用前后 进行函数功能增强的装饰器 def logAop(text='execute'): def decorator(func): @functools.wraps(func) def wrapper(*args, **kw): print('begin %s %s' % (text, func.__name__)) res = func(*args, **kw) print('end %s %s' % (text, func.__name__)) return res return wrapper return decorator @logAop() def printName(): print('kobe') @logAop('execute') def printName1(): print('kobe1') printName() printName1()
Sign in to make a reply
kobe_garden
装饰器练习:函数调用前后处理其他任务
> 日志执行时间记录