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

Как работает оператор with в Python

Оператор with в Python используется для управления контекстом выполнения блока кода. Он гарантирует, что ресурсы будут корректно освобождены после выполнения блока, даже если возникло исключение.

Основные моменты:

  1. Объект должен реализовывать контекстный менеджер (методы __enter__ и __exit__)
  2. __enter__ выполняется при входе в блок
  3. __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()

Можно создавать свои контекстные менеджеры через классы или contextlib.

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

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

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

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