Sobes.tech
Back to questions
Middle+
2

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

Companies where asked
ГБУ МО УТНКР

Answer from AI

sobes.tech AI

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

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

Пример:

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

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