Какие методы должен реализовать объект, чтобы стать менеджером контекста?
Менеджер контекста должен реализовывать два магических метода:
- __enter__ — вызывается при входе в блок with, открывает и возвращает ресурс.
- __exit__ — вызывается при выходе из блока with, освобождает ресурс и обрабатывает исключения.
В асинхронном варианте это __aenter__ и __aexit__ соответственно.