Встречается на собеседованиях • сегодня
Что требуется для реализации контекстного менеджера в классе Python
Для реализации контекстного менеджера в классе необходимо определить два магических метода: __enter__ и __exit__.
__enter__выполняется при входе в контекст и может возвращать объект (например, открытый файл).__exit__вызывается при выходе из контекста, принимает информацию об исключении (если оно возникло).
Пример:
python
class DatabaseConnection:
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 DatabaseConnection() as db:
print("Работа с БД")Также можно использовать contextlib.contextmanager для функций, но для классов достаточно __enter__ и __exit__.

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