Sobes.tech
Middle
22

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

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

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

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

Пример:

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

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