Контекстные менеджеры Python: задачи на with, откат и исключения
Блок with заканчивается не всегда успешно. Нужно решить, какие изменения сохранить, какие откатить и какое исключение вернуть вызывающему коду. В этой подборке вы реализуете временную подмену списка, транзакционные изменения словаря, вложенные входы и откат списания ресурсов. Отдельные задания проверяют подавление и замену исключений. Начните с вопроса об аргументах exit, затем переходите от простой временной подмены к вложенному состоянию.
Как заниматься
8 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.
Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.
Смежная практика
- exit в Python: аргументы исключения и подавление ошибки
exit в Python: аргументы исключения и подавление ошибки. Вопрос с проверкой ответа.
Практический Python для разработчиков: большой задачник - Контекстный менеджер Python: подавление выбранных типов исключений
Контекстный менеджер Python: подавление выбранных типов исключений. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Контекстный менеджер Python: вложенные транзакции и глубина входа
Контекстный менеджер Python: вложенные транзакции и глубина входа. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Контекстный менеджер Python: временная подмена списка с восстановлением
Контекстный менеджер Python: временная подмена списка с восстановлением. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Проверка контекстного менеджера Python: подавление и замена исключения
Проверка контекстного менеджера Python: подавление и замена исключения. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Contextmanager на Python: транзакционные изменения словаря с квотой
Contextmanager на Python: транзакционные изменения словаря с квотой. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Контекстный менеджер Python: временные настройки и сбор результатов
Контекстный менеджер Python: временные настройки и сбор результатов. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник - Контекстный менеджер Python: откат списания ресурсов при ошибке
Контекстный менеджер Python: откат списания ресурсов при ошибке. Задача с проверкой Python-кода.
Практический Python для разработчиков: большой задачник
