Check

Контекстный менеджер и with

Python Middle Сбербанк
Что такое контекстный менеджер в Python и как работает конструкция with? На примере работы с файлом объясните, что происходит.
Ответы
Контекстный менеджер
Контекстный менеджер — объект, у которого есть методы __enter__ и __exit__. Конструкция: ```python with open("file.txt") as f: data = f.read() ``` Работает так: 1) Вызывается open(), создаётся объект файла. 2) Вызывается f.__enter__(), его результат попадает в переменную f. 3) Выполняется тело блока with. 4) В конце (даже при исключении) вызывается f.__exit__(), который закрывает файл. Это гарантирует корректное освобождение ресурсов.