Зачем нужен контекстный менеджер в Python

Python Senior Без компании
Зачем нужен контекстный менеджер в Python
Ответы
Контекстные менеджеры (`with`) упрощают управление ресурсами (файлы, соединения и т.д.), гарантируя их корректное освобождение, даже если возникла ошибка. Они автоматически вызывают методы `__enter__` (при входе) и `__exit__` (при выходе). Пример с файлом: ``` with open('file.txt', 'r') as f: data = f.read() # Файл автоматически закроется здесь, даже если было исключение ``` Эквивалент без `with`: ``` f = open('file.txt', 'r') try: data = f.read() finally: f.close() ``` Можно создавать свои контекстные менеджеры через классы (с `__enter__`/`__exit__`) или используя `contextlib.contextmanager`.