Встречается на собеседованиях • сегодня
Как написать контекстный менеджер без with в Python
Контекстный менеджер можно использовать без with, вызывая его методы __enter__() и __exit__() вручную. Пример:
python
class MyContext:
def __enter__(self):
print("Entering context")
return self
text
def __exit__(self, exc_type, exc_val, exc_tb):
print("Exiting context")Использование без with
ctx = MyContext()
obj = ctx.enter()
try:
print("Inside context")
finally:
ctx.exit(None, None, None)
text
Важно обернуть код в `try-finally`, чтобы гарантировать вызов `__exit__()` даже при возникновении исключения. Однако использование `with` предпочтительнее, так как делает код чище и безопаснее.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы