Advertisement
senseless_polyester

Untitled

Apr 9th, 2020
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.92 KB | None | 0 0
  1. # Реализовать класс который можно использовать и как декоратор и как менеджер контекста. Пусть он тоже замеряет
  2. # время выполнения. Проверить что работает быстрее - вызвать и обработать исключение или использовать условный оператор
  3. import time
  4. from datetime import datetime
  5. from contextlib import contextmanager
  6.  
  7. class Timer:
  8.     def __init__(self, a):
  9.         self.a = a
  10.  
  11.     def __enter__(self):
  12.         self.start = datetime.now()
  13.         return self.a
  14.  
  15.     def __exit__(self):
  16.         self.finish = datetime.now() - self.start
  17.         self.a.clear()
  18.         return '\ntime spent: {}\n'.format(self.finish)
  19.  
  20.  
  21. with Timer as T:
  22.     a = [i**i for i in range(1, 9)]
  23.     time.sleep(0.1)
  24.     t1 = T(a)
  25.     print(t1)
  26.  
  27. print(t1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement