Back to questions
Junior — Middle
54
Какие шаги и элементы нужны для создания менеджера контекста в Python-классе?
Companies where asked
Леста
Answer from AI
sobes.tech AI
Для создания менеджера контекста в Python-классе нужно реализовать два специальных метода:
-
__enter__(self)— вызывается при входе в блокwith. Здесь обычно инициализируются ресурсы и возвращается объект, который будет доступен внутри блока. -
__exit__(self, exc_type, exc_val, exc_tb)— вызывается при выходе из блокаwith, независимо от того, произошло исключение или нет. Здесь обычно освобождаются ресурсы.
Пример:
class MyContextManager:
def __enter__(self):
print("Вход в контекст")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print("Выход из контекста")
# Можно обработать исключения, если нужно
with MyContextManager() as manager:
print("Внутри блока with")
Таким образом, ключевые шаги — определить эти два метода в классе, чтобы объект мог использоваться в конструкции with.