Sobes.tech
Назад к вопросам
Middle+
3

Что такое контекстный менеджер и зачем он нужен?

Компании, где спрашивали
ГБУ МО УТНКР

Ответ от нейросети

sobes.tech AI

Контекстный менеджер в Python — это объект, который определяет методы __enter__ и __exit__, позволяющие автоматически управлять ресурсами, например, открытием и закрытием файлов, блокировками или сетевыми соединениями.

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

Пример:

with open('file.txt', 'r') as f:
    data = f.read()
# файл автоматически закрывается после выхода из блока

Здесь open возвращает контекстный менеджер, который открывает файл при входе и закрывает при выходе из блока.