Встречается на собеседованиях • сегодня
Можно ли сделать свой контекстный менеджер в Python
Да, можно создать свой контекстный менеджер в Python. Для этого есть два основных способа:
- Используя класс с методами
__enter__и__exit__:
python
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("Внутри контекста")
text
2. **Используя `contextlib.contextmanager`**:
```python
from contextlib import contextmanager
@contextmanager
def my_context_manager():
print("Вход в контекст")
try:
yield "ресурс"
finally:
print("Выход из контекста")
with my_context_manager() as resource:
print(f"Используем {resource}")Контекстные менеджеры полезны для управления ресурсами (файлы, соединения), временными изменениями состояния или обработкой исключений.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы