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

Какие плюсы и минусы контекстного менеджера

Контекстные менеджеры в Python (with statement) обеспечивают удобное управление ресурсами.

Плюсы:

  1. Автоматическое управление ресурсами – гарантированное закрытие файлов, соединений и т.д.
  2. Читаемость кода – логика работы с ресурсами инкапсулирована.
  3. Обработка исключений – ресурсы корректно освобождаются даже при ошибках.

Минусы:

  1. Ограниченная гибкость – не всегда подходит для сложных сценариев управления ресурсами.
  2. Дополнительный код – нужно реализовывать __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()  # нужно закрывать вручную
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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