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

Необязательное предложение else имеет несколько сбивающее с толку название, поскольку оно выполняется во всех в случаях, когда цикл нормально завершается. Если цикл завершается в результате выполнения инструкции break или return, когда цикл находится внутри функции или метода, или в результате исключения, то блок else_suite предложения else не выполняется. (При возникновении исключительной ситуации интерпретатор Python пропускает предложение else и пытается отыскать подходящий обработчик исключения, о чем будет рассказываться в следующем разделе.)

Плюсом такой реализации является одинаковое поведение предложения else в циклах while, в циклах for ... in и в блоках try ... except. Рассмотрим пример, демонстрирующий предложение else в действии. Методы str.index и list. index возвращают индекс заданной подстроки или элемента или возбуждают исключение ValueError, если подстрока или элемент не найдены. Метод str. find делает то же самое, но в случае неудачи он не возбуждает исключение, а возвращает значение -1.

Эта функция просматривает список в поисках заданного элемента target. Если искомый элемент будет найден, инструкция break завершит цикл и вызывающей программе будет возвращен соответствующий индекс. Если искомый элемент не будет найден, цикл достигнет конца списка и завершится обычным способом. В случае нормального завершения цикла будет выполнен блок в предложении else, индекс получит значение -1 и будет возвращен вызывающей программе.
Навигация: 1 2 3
 
 
© Copyright