from contextlib import contextmanager import time @contextmanager def my_context_manager(): print("Начало контекстного манеджера ...") yield "Ух ты как круто!" print("Конец контекстного менеджера...") @contextmanager def timer(): start = time.time() yield "Работает контекстный менеджер" print(time.time() - start) def calculate(): for i in range(10000): 2 ** 2123 def main(): # Тест декоратора # with my_context_manager() as phrase: # print(phrase) with timer() as t: print(t) calculate() if __name__ == '__main__': main()