Sobes.tech
Junior — Middle
67

Можете объяснить предназначение менеджеров контекста в Python и как они работают?

Answer from AI

sobes.tech AI

Менеджеры контекста в Python используются для автоматического управления ресурсами, например, открытием и закрытием файлов, блокировками и т.п. Они реализуют методы __enter__ и __exit__, которые вызываются при входе и выходе из блока with.

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

Пример:

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