Генераторы словарей и модули Рython
Функции в языке Python Функции в языке PythonВсе функции в языке Python возвращают какое-либо значение, хотя вполне возможно (и часто так и делается) просто игнорировать это значение. Возвращаемое значение может быть единственным значением или кортежем значений,...
Реализация генераторов Реализация генераторовМы рассмотрели коллекции-последовательности, tuple, collections, na-medtuple и list, поддерживающие, как и строки, возможность извлечения срезов. Также было рассмотрено использование оператора распаковывания...
Парсинг документов XML Парсинг документов XMLXML: Для парсинга документов XML широко используются два основных подхода. Один из них основан на анализе DOM (Document Object Model -объектная модель документа), а другой - на использовании SAX (Simple API for XML - упрощенный...
Копирование коллекций Копирование коллекцийКопирование коллекций: Поскольку в языке Python повсюду используются ссылки на объекты, когда выполняется оператор присваивания (=), никакого копирования данных на самом деле не происходит. Если справа от оператора находится литерал,...
Циклы for
Такое гарантированное выполнение блока finally может быть очень полезным, когда необходимо обеспечить корректное освобождение ресурсов. На рис. 4.2 демонстрируется порядок выполнения типичной конструкции try ... except . . . finally. Здесь мы использовали конструкцию try ... except для преобразования исключения в возвращаемое значение.

Аналогичный подход можно использовать для перехвата одних исключений и возбуждения других - с этим приемом мы познакомимся очень скоро. Неважно, что произойдет в блоке try_suite (кроме краха системы или программы!), в любом случае блок finally_suite будет выполнен. Того же эффекта, аналогичного использованию конструкции try ... finally, можно достичь с помощью инструкции with и менеджера контекста. Очень часто конструкция try ... except ... finally используется для обработки ошибок, возникающих при работе с файлами.

Например, программа noblanks.py принимает список имен файлов в виде аргументов командной строки и для каждого из них воспроизводит другой файл с тем же самым именем, но с расширением ,nb, и с тем же содержимым, за исключением пустых строк. Изначально функция записывает в переменную fh значение None, так как вполне возможно, что вызов функции ореп потерпит неудачу, тогда переменной fh ничего не будет присвоено (и в ней останется значение None) и будет возбуждено исключение.
Навигация: 1 2 3 4
 
 
© Copyright