Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time, functools
- def log(text=''):
- def metric(fn):
- @functools.wraps(fn) #将fn的名字copy给wrappr
- def wrapper(*args, **kw): #可变参数
- print('%s begin call %s' % (text, fn.__name__))
- t = time.time()
- c = fn(*args, **kw) #调用fn, 计算,结果传给c
- t1 = time.time()
- print('%s executed in %.2f ms' % (fn.__name__, (t1-t)))
- print('%s end call %s' % (text, fn.__name__))
- return c
- return wrapper
- return metric
- @log('AAAAAAA')
- def fast(x, y):
- time.sleep(0.0012)
- return x + y;
- print(fast(1,2))
- @log()
- def slow(x, y, z):
- time.sleep(0.1234)
- return x*y*z
- print(slow(2,3,5))
Add Comment
Please, Sign In to add comment