Назад к вопросам
СБЕР
Middle
1
Расскажи про контекст-менеджер: что это такое, зачем нужен?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Контекст-менеджер в Python — это объект, который реализует методы __enter__ и __exit__. Он используется для автоматического управления ресурсами: например, открытия и закрытия файлов, блокировок, сетевых соединений.
Когда вы используете конструкцию with, вызывается метод __enter__ перед выполнением блока кода, а после его завершения (даже если возникло исключение) вызывается __exit__, где можно освободить ресурсы.
Пример:
with open('file.txt', 'r') as f:
data = f.read()
# файл автоматически закрывается после выхода из блока
Такой подход помогает избежать утечек ресурсов и делает код чище и безопаснее.