Главная » Просмотр файлов » Марк Лутц - Изучаем Python, Четвертое издание

Марк Лутц - Изучаем Python, Четвертое издание (1184811), страница 98

Файл №1184811 Марк Лутц - Изучаем Python, Четвертое издание (Марк Лутц - Изучаем Python, Четвертое издание) 98 страницаМарк Лутц - Изучаем Python, Четвертое издание (1184811) страница 982020-08-21СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 98)

В простейшем случае эту особенность можно использовать для назначения значения по умолчанию – следующая инструкция присвоит переменнойX значение переменной A, если оно истинно (или непустое), и default –в противном случае:X = A or defaultТакже важно осознать, как выполняются вычисления по сокращеннойсхеме, потому что справа от логического оператора может находитьсяфункция, выполняющая важную работу или оказывающая побочноевлияние, вызов которой не произойдет из-за действия правила вычисления по сокращенной схеме:if f1() or f2(): ...В данном случае, если функция f1 вернет истинное (или непустое) значение, интерпретатор никогда не вызовет функцию f2. Чтобы гарантировать вызов обеих функций, можно вызвать их до применения оператора or:tmp1, tmp2 = f1(), f2()if tmp1 or tmp2: ...390Глава 12.

Условная инструкция if и синтаксические правилаВы уже видели другой вариант использования такого поведения: благодаря особенностям работы логических операторов выражение ((A and B)or C) может использоваться для достаточно близкой (смотрите обсуждение этой инструкции выше) имитации инструкции if/else.Другие случаи логических значений мы уже видели в предыдущих главах. Как мы видели в главе 9, вследствие того, что все объекты могутрасцениваться как истинные или ложные значения, в языке Python легко и просто выполнить проверку объекта напрямую (if X:) вместо того,чтобы сравнивать его с пустым значением (if X != ‘’:).

В случае строк этидве проверки равнозначны. Мы также узнали в главе 5, что логическиезначения True и False являются обычными целыми числами 1 и 0 и могутиспользоваться для инициализации переменных (X = False), в условныхвыражениях циклов (while True:) и для отображения результатов в интерактивном сеансе.Кроме того, в шестой части, при обсуждении темы перегрузки операторов мы увидим, что в определениях новых типов объектов с помощьюклассов имеется возможность определять их логическую природу с помощью методов __bool__ и __len__ (метод __bool__ в версии 2.6 носит имя__nonzero__).

Если первый метод отсутствует в определении класса, дляпроверки истинности объекта используется второй метод – если возвращаемая длина равна нулю, объект считается ложным, так как пустыеобъекты всегда считаются ложными.В заключениеВ этой главе мы познакомились с инструкцией if языка Python. Так как этобыла первая составная инструкция на нашем пути, мы попутно рассмотрелиобщие синтаксические правила языка Python��������������������������������������������������������������������и поближе познакомились с операциями проверки истинности.

Кроме того, мы также узнали, как в языкеPython реализуется множественное ветвление, и изучили форму выраженийif/else, которая впервые появилась в версии Python 2.5.В следующей главе мы продолжим изучение процедурных инструкций и рассмотрим циклы while и for. Там будет рассказано об альтернативных способахпрограммирования циклов в языке Python, каждый из которых имеет своипреимущества. Но перед этим вас ждут обычные контрольные вопросы главы.Закрепление пройденногоКонтрольные вопросы1. Как в языке Python можно оформить множественное ветвление?2. Как в языке Python можно оформить инструкцию if/else в виде выражения?3. Как можно разместить одну инструкцию в нескольких строках?4.

Что означают слова True и False?Закрепление пройденного391Ответы1. Самый простой, хотя и не самый краткий способ организации множественного ветвления заключается в использовании инструкции if с несколькими частями elif. Нередко того же результата можно добиться с помощьюоперации индексирования в словаре, особенно если учесть, что словаримогут содержать функции, созданные с помощью инструкций def или выражений lambda.2. В версии Python 2.5 выражение Y if X else Z возвращает Y, если X имеет истинное значение, или Z – в противном случае. Это выражение эквивалентноинструкции if из четырех строк.

Комбинация операторов and/or ((X and Y)or Z) может действовать точно так же, но она менее понятна и требует, чтобычасть Y имела истинное значение.3. Обернув инструкцию синтаксически уместной парой скобок ((), [], или {}),можно расположить ее на нескольких строках – инструкция будет считаться законченной, когда интерпретатор обнаружит правую закрывающуюскобку.

Строки инструкции, со второй и далее, могут иметь любые отступы.4. True и False – это всего лишь версии целых чисел 1 и 0 соответственно. В языке Python они обозначают истинные и ложные значения. Они могут использоваться в операциях проверки истинности и для инициализации переменных, а также выводиться как результаты выражений в интерактивномсеансе.Глава13.Циклы while и forВ этой главе мы встретимся с двумя основными конструкциями организациициклов в языке Python – инструкциями, которые выполняют одну и ту же последовательность действий снова и снова.

Первая из них, инструкция while,обеспечивает способ организации универсальных циклов; вторая, инструкцияfor, предназначена для обхода элементов в последовательностях и выполненияблока программного кода для каждого из них.Ранее мы уже встречались с этими инструкциями, но в этой главе мы получимболее полное представление о них. Кроме того, мы попутно рассмотрим некоторые менее известные инструкции, используемые в циклах, такие как breakи continue, и встроенные функции, такие как range, zip и map, которые используются вместе с циклами.В языке Python существуют и другие способы организации циклов, но инструкции while и for, которые описываются здесь, являются основными синтаксическими элементами, предоставляющими возможность программирования повторяющихся действий.

Тема итераций будет продолжена в следующейглаве, где мы исследуем родственные концепции протокола итераций в языкеPython (используется инструкцией for). В последующих главах мы займемсяисследованием еще более экзотических инструментов организации циклов,таких как генераторы, функции filter и reduce. Но пока начнем с самого простого.Циклы whileИнструкция while является самой универсальной конструкцией организацииитераций в языке Python. Проще говоря, она продолжает выполнять блок инструкций (обычно с отступами) до тех пор, пока условное выражение продолжает возвращать истину.

Она называется «циклом», потому что управлениециклически возвращается к началу инструкции, пока условное выражениене вернет ложное значение. Как только в результате проверки будет полученоложное значение, управление будет передано первой инструкции, расположенной сразу же за вложенным блоком тела цикла while. В результате тело циклапродолжает выполняться снова и снова, пока условное выражение возвращает393Циклы whileистинное выражение, а если условное выражение сразу вернет ложное значение, тело цикла никогда не будет выполнено.Общий форматВ своей наиболее сложной форме инструкция while состоит из строки заголовкас условным выражением, тела цикла, содержащего одну или более инструкций с отступами, и необязательной части else, которая выполняется, когдауправление передается за пределы цикла без использования инструкции break.Интерпретатор продолжает вычислять условное выражение в строке заголовкаи выполнять вложенные инструкции в теле цикла, пока условное выражениене вернет ложное значение:while <test>:<statements1>else:<statements2>#####Условное выражение testТело циклаНеобязательная часть elseВыполняется, если выход из цикла производится неинструкцией breakПримерыДля иллюстрации рассмотрим несколько простых циклов while в действии.Первый, который содержит инструкцию print, вложенную в цикл while, простовыводит сообщение до бесконечности.

Не забывайте, что True – это всего лишьособая версия целого числа 1, и оно обозначает истинное значение, поэтомурезультатом этого условного выражения всегда будет истина, и интерпретаторбесконечно будет выполнять тело цикла, пока вы не прервете его выполнение.Такие циклы обычно называются бесконечными:>>> while True:...print(‘Type Ctrl-C to stop me!’)Следующий фрагмент продолжает вырезать из строки первый символ, покаона не опустеет и в результате не превратится в ложное значение.

Это обычная практика – проверка истинности объектов осуществляется непосредственно вместо использования более растянутого эквивалента (while x != ‘’:). Далеев этой главе мы рассмотрим другие способы обхода элементов строки с помощью цикла for.>>> x = ‘spam’>>> while x:# Пока x не пустая строка...print(x, end=’ ‘)...x = x[1:] # Вырезать первый символ из x...spam pam am mОбратите внимание на именованный аргумент end=’ ‘, который обеспечиваетвывод значений в одну строку через пробел. Если вы забыли, чем это объясняется, обращайтесь к главе 11. Следующий фрагмент перебирает значения отa до b, не включая значение b.

Ниже мы рассмотрим более простой способ выполнения этих же действий с помощью цикла for и встроенной функции range:>>> a=0; b=10>>> while a < b:# Один из способов организации циклов перечисления...print(a, end=’ ‘)...a += 1# Или, a = a + 1394Глава 13. Циклы while и for...0 1 2 3 4 5 6 7 8 9Наконец, обратите внимание, что в языке Python отсутствует цикл «do until»,имеющийся в других языках программирования. Однако его можно имитировать, добавив в конец тела цикла условную инструкцию и инструкцию break:while True:...тело цикла...if exitTest(): breakЧтобы окончательно понять, как эта структура работает, нам необходимо перейти к следующему разделу и поближе познакомиться с инструкцией break.break, continue, pass и elseТеперь, когда мы познакомились с несколькими циклами в действии, настало время обратить внимание на две простые инструкции, которые могут использоваться только внутри циклов – инструкции break и continue.

Характеристики

Тип файла
PDF-файл
Размер
12,21 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6280
Авторов
на СтудИзбе
315
Средний доход
с одного платного файла
Обучение Подробнее