Guest User

Untitled

a guest
Jul 21st, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. import time, functools
  2. def log(text=''):
  3. def metric(fn):
  4. @functools.wraps(fn) #将fn的名字copy给wrappr
  5. def wrapper(*args, **kw): #可变参数
  6. print('%s begin call %s' % (text, fn.__name__))
  7. t = time.time()
  8. c = fn(*args, **kw) #调用fn, 计算,结果传给c
  9. t1 = time.time()
  10. print('%s executed in %.2f ms' % (fn.__name__, (t1-t)))
  11. print('%s end call %s' % (text, fn.__name__))
  12. return c
  13. return wrapper
  14. return metric
  15.  
  16. @log('AAAAAAA')
  17. def fast(x, y):
  18. time.sleep(0.0012)
  19. return x + y;
  20. print(fast(1,2))
  21.  
  22. @log()
  23.  
  24. def slow(x, y, z):
  25. time.sleep(0.1234)
  26. return x*y*z
  27. print(slow(2,3,5))
Add Comment
Please, Sign In to add comment