Встречается на собеседованиях • сегодня

Зачем нужен контекстный менеджер в Python

Контекстные менеджеры (with) упрощают управление ресурсами (файлы, соединения и т.д.), гарантируя их корректное освобождение, даже если возникла ошибка. Они автоматически вызывают методы __enter__ (при входе) и __exit__ (при выходе).

Пример с файлом:

python
with open('file.txt', 'r') as f:
    data = f.read()
# Файл автоматически закроется здесь, даже если было исключение

Эквивалент без with:

python
f = open('file.txt', 'r')
try:
    data = f.read()
finally:
    f.close()

Можно создавать свои контекстные менеджеры через классы (с __enter__/__exit__) или используя contextlib.contextmanager.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы