Что требуется для реализации контекстного менеджера в классе Python

Python Middle Без компании
Что требуется для реализации контекстного менеджера в классе Python
Ответы
Для реализации контекстного менеджера в классе необходимо определить два магических метода: `__enter__` и `__exit__`. - `__enter__` выполняется при входе в контекст и может возвращать объект (например, открытый файл). - `__exit__` вызывается при выходе из контекста, принимает информацию об исключении (если оно возникло). Пример: ``` class DatabaseConnection: def __enter__(self): print("Подключение к БД") return self def __exit__(self, exc_type, exc_val, exc_tb): print("Закрытие соединения") if exc_type: # Обработка исключения print(f"Ошибка: {exc_val}") return True # Подавляем исключение # Использование with DatabaseConnection() as db: print("Работа с БД") ``` Также можно использовать `contextlib.contextmanager` для функций, но для классов достаточно `__enter__` и `__exit__`.