Встречается на собеседованиях • сегодня
Как сделать свой контекстный менеджер в классе
В Python контекстный менеджер можно реализовать через класс с методами __enter__ и __exit__.
python
class MyContextManager:
def __enter__(self):
print("Вход в контекст")
return self # или другой объект для использования в `with ... as`
text
def __exit__(self, exc_type, exc_val, exc_tb):
print("Выход из контекста")
# Обработка исключений (если нужно)
if exc_type:
print(f"Ошибка: {exc_val}")
return True # Подавляет исключение, если вернёт TrueИспользование:
with MyContextManager() as cm:
print("Внутри контекста")
text
**Ключевые моменты:**
- `__enter__` вызывается при входе в `with`, возвращает объект для `as`.
- `__exit__` вызывается при выходе, принимает данные об исключении (если оно было).
- Возврат `True` в `__exit__` подавляет исключение.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы