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

Расскажи про контекст-менеджер: что это такое, зачем нужен?

Компании, где спрашивали
СБЕРСБЕР

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

sobes.tech AI

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

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

Пример:

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

Такой подход помогает избежать утечек ресурсов и делает код чище и безопаснее.