Python decorator 使用作业
设计一个decorator,它可作用于任何函数上,并打印该函数的执行时间
程序代码
# using python version 3.7
import functools
import time
def log(text):
def decorator(func):
start = time.time()
@functools.wraps(func)
def wrapper(*args, **kw):
r = func(*args, **kw)
print('call %s() cost %5f ms:' % (func.__name__, 1000*(time.time() - start)))
return r
return wrapper
return decorator
## 测试用例
@log('Debug')
def fast(x, y):
time.sleep(0.0012)
return x + y
@log('Debug')
def slow(x, y, z):
time.sleep(0.1234)
return x * y * z
[参考网页]廖雪峰的官方网站(https://www.liaoxuefeng.com/wiki/1016959663602400/1017451662295584)