Sobes.tech
Junior — Middle
85

Können Sie die Funktion von Kontextmanagern in Python erklären und wie sie funktionieren?

Antwort von AI

sobes.tech KI

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

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

Пример:

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