Использовал ли контекстный менеджер
Python
Senior
Без компании
Использовал ли контекстный менеджер
Ответы
Контекстный менеджер в Python — это объект, который управляет ресурсами с помощью методов `__enter__` и `__exit__`. Чаще всего используется для автоматического освобождения ресурсов (например, закрытия файлов, соединений) даже при возникновении исключений.
Пример с файлом:
```
with open('file.txt', 'r') as f:
data = f.read()
# Файл автоматически закроется после выхода из блока
```
Создание своего контекстного менеджера через класс:
```
class MyContextManager:
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 MyContextManager() as cm:
print("Внутри контекста")
raise ValueError("Ошибка!") # Исключение будет подавлено
```