Привет, в четверг на канале вышел небольшой пост про контекстные менеджеры. Сейчас разберём, как их можно реализовать.
В любом контекстном менеджере должны быть определены методы __enter__ и __exit__. В качестве примера создадим подобие уже существующего open.
Метод __enter__ вызывается автоматически и возвращает объект файла. После того, как блок with заканчивается, также вызывается метод __exit__, который закрывает файл.
А более подробно мы рассказываем про эту тему в нашем курсе по продвинутым темам.