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()
# файл автоматически закрывается после выхода из блока