Объясните, как работают контекстные менеджеры в Python и как они связаны с оператором `with`. Приведите пример реализации собственного контекстного менеджера с использованием `__enter__` и `__exit__`. В чём преимущества использования контекстных менеджеров?
middle
theory
#454
Чтобы решить вопрос и сохранить попытку — войди.