Почему менеджеры контекста полезны для таких ресурсов, как файлы или сетевые соединения?
Они связывают настройку и очистку с блоком кода, поэтому ресурсы надёжно освобождаются.
Они гарантируют, что код внутри блока никогда не вызовет исключение.
Они оставляют каждый ресурс открытым до завершения процесса Python.
Они заменяют все вызовы функций глобальными переменными.