Какие методы нужно определить в классе для создания контекстного менеджера

Python Junior Без компании
Какие методы нужно определить в классе для создания контекстного менеджера
Ответы
Для создания контекстного менеджера в Python нужно реализовать протокол контекстного менеджера, определив методы `__enter__()` и `__exit__()` в классе. - `__enter__()`: вызывается при входе в блок `with`, возвращает объект для работы внутри контекста - `__exit__(exc_type, exc_val, exc_tb)`: вызывается при выходе из блока `with`, обрабатывает исключения и освобождает ресурсы Пример: ``` class FileManager: def __init__(self, filename, mode): self.filename = filename self.mode = mode self.file = None def __enter__(self): self.file = open(self.filename, self.mode) return self.file def __exit__(self, exc_type, exc_val, exc_tb): self.file.close() if exc_type: # Если было исключение print(f"Ошибка: {exc_val}") return True # Подавляем исключение ``` Использование: ``` with FileManager("test.txt", "w") as f: f.write("Hello, world!") ```