Главная » Просмотр файлов » М. Лутц - Изучаем Python (4-е издание)- 2011

М. Лутц - Изучаем Python (4-е издание)- 2011 (1126907), страница 95

Файл №1126907 М. Лутц - Изучаем Python (4-е издание)- 2011 (М. Лутц - Изучаем Python (4-е издание)- 2011) 95 страницаМ. Лутц - Изучаем Python (4-е издание)- 2011 (1126907) страница 952019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Нижеприводится пример с использование метода get для получения значения поумолчанию:>>> branch = {‘spam’: 1.25,...‘ham’: 1.99,Синтаксические правила языка Python...379‘eggs’: 0.99}>>> print branch.get(‘spam’, ‘Bad choice’)1.25>>> print branch.get(‘bacon’, ‘Bad choice’)Bad choiceПрименение оператора in проверки на вхождение в инструкции if может обеспечить получение того же результата по умолчанию:>>>>>>............Badchoice = ‘bacon’if choice in branch:print(branch[choice])else:print(‘Bad choice’)choiceСловари хорошо подходят для выбора значений, ассоциированных с ключами,но как быть в случае более сложных действий, которые можно запрограммировать в инструкциях if? В четвертой части книги вы узнаете, что словари такжемогут содержать функции, выполняющие сложные действия при ветвлении,реализуя обычные таблицы переходов.

В этом случае функции, играющиероль значений в словаре, часто создаются как лямбда-функции и вызываютсядобавлением круглых скобок. Подробнее об этом вы прочитаете в главе 19.Множественное ветвление на базе словаря довольно удобно использовать в программах, которые имеют дело с динамическими данными, однако большинство программистов согласятся, что использование инструкции if являетсянаиболее простым способом организации множественного ветвления. Обычнопри колебаниях при выборе того или иного подхода предпочтение следует отдавать более простому и более удобочитаемому способу.Синтаксические правила языка PythonПервое знакомство с синтаксической моделью языка Python состоялось в главе 10. Теперь, когда мы подошли к таким крупным инструкциям, как if, настало время пересмотреть и дополнить сведения о синтаксисе, введенные ранее.Вообще язык программирования Python обладает простым синтаксисом, основанным на применении инструкций.

Однако он обладает некоторыми особенностями, о которых вам необходимо знать:•• Инструкции выполняются последовательно, одна за другой, пока не будетпредусмотрено что-то другое. Обычно интерпретатор выполняет инструкции в файле или в блоке от начала до конца, но такие инструкции, как if (и,как будет показано далее, циклы), заставляют интерпретатор выполнять переходы внутри программного кода. Так как путь интерпретатора Python через текст программы называется потоком управления, такие инструкции,как if, часто называются инструкциями управления потоком выполнения.•• Границы блоков и инструкций определяются автоматически.

Как мы ужевидели, в языке Python отсутствуют фигурные скобки или разделители«begin/end», окружающие блоки программного кода. Вместо этого принадлежность инструкций к вложенному блоку определяется по величине отступов. Точно так же инструкции в языке Python обычно не завершаются380Глава 12. Условная инструкция if и синтаксические правилаточкой с запятой; обычно признаком конца инструкции служит конец строки с этой инструкцией.•• Составные инструкции = “заголовок + «:» + инструкции с отступами”.Все составные инструкции в языке Python оформляются одинаково: строка с заголовком завершается двоеточием, далее следуют одна или болеевложенных инструкций, обычно с отступом относительно заголовка.

Этиинструкции с отступами называются блоком (или иногда набором). В инструкции if предложения elif и else являются не только частями инструкции if, но и заголовками с собственными вложенными блоками.•• Пустые строки, пробелы и комментарии обычно игнорируются. Пустыестроки игнорируются в файлах (но не в интерактивной оболочке, когдаони завершают составные инструкции).

Пробелы внутри инструкций и выражений игнорируются практически всегда (за исключением строковыхлитералов, а также когда они используются для оформления отступов).Комментарии игнорируются всегда: они начинаются с символа # (не внутристроковых литералов) и простираются до конца строки.•• Строки документирования игнорируются, но сохраняются и отображаются специализированными инструментами.

В языке Python поддерживается дополнительная форма комментариев, которая называется строкамидокументирования, которые, в отличие от комментариев, начинающихсяс #, сохраняются и доступны для просмотра во время выполнения. Строкидокументирования – это обычные строки, которые располагаются в началефайлов с программами и в некоторых инструкциях. Интерпретатор игнорирует их содержимое, но они автоматически присоединяются к объектамво время выполнения и могут отображаться инструментами доступа к документации. Строки документирования являются частью стратегии документирования в языке Python и будут рассматриваться в последней главеэтой части книги.Как уже говорилось ранее, в языке Python отсутствует необходимость объявлять типы переменных – только один этот факт упрощает синтаксис языка больше, чем любые другие особенности.

Но для большинства новых пользователей самой необычной особенностью синтаксиса языка Python кажетсяотсутствие фигурных скобок и точек с запятой, используемых в качестве разделителей блоков и инструкций во многих других языках, поэтому давайтерассмотрим их поближе.Разделители блоков: правила оформления отступовИнтерпретатор автоматически определяет границы блоков по величине отступов – то есть по ширине пустого пространства слева от программного кода.Все инструкции, смещенные вправо на одинаковое расстояние, принадлежатк одному и тому же блоку кода. Другими словами, инструкции в блоке выстроены по вертикальной линии. Блок заканчивается либо с концом файла, либокак только встретится строка с меньшим отступом; более глубоко вложенныеблоки имеют более широкие отступы, чем инструкции в объемлющем блоке.Например, на рис. 12.1 показана структура блоков следующего фрагмента программного кода:x = 1if x:381Синтаксические правила языка Pythony = 2if y:print ‘block2’print ‘block1’print ‘block0’Блок 0Заголовок:Блок 1Заголовок:Блок 2Блок 1Блок 0Рис. 12.1.

Вложенные блоки программного кода: вложенный блок начинаетсяс инструкции, имеющей больший отступ, и заканчивается либо когда будетвстречена инструкция с меньшим отступом, либо в конце файлаДанный фрагмент содержит три блока: первый (программный код верхнегоуровня) вообще не имеет отступов, второй (внутри внешней инструкции if)имеет отступ из четырех пробелов и третий (инструкция print внутри вложенной инструкции if) имеет отступ из восьми пробелов.Вообще программный код верхнего уровня (не вложенный) должен начинатьсяв строках с позиции 1. Вложенные блоки могут начинаться с любой позиции –отступ может состоять из любого числа пробелов и символов табуляции, главное, чтобы все инструкции в одном блоке имели одинаковые отступы.

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

Например, в следующем фрагменте демонстрируются типичныеошибки, связанные с оформлением отступов:x = ‘SPAM’# Ошибка: отступ в первой строкеif ‘rubbery’ in ‘shrubbery’:print(x * 8)x += ‘NI’# Ошибка: неуместный отступif x.endswith(‘NI’):x *= 2print(x)# Ошибка: непоследовательное оформление отступовПравильно оформленная версия этого фрагмента приводится ниже – даже в таком простом примере, как этот, правильное оформление отступов делает программный код намного более удобочитаемым:382Глава 12. Условная инструкция if и синтаксические правилаx = ‘SPAM’if ‘rubbery’ in ‘shrubbery’:print(x * 8)x += ‘NI’if x.endswith(‘NI’):x *= 2print(x)# Выведет “SPAMNISPAMNI”Единственное, где в языке Python пробелы имеют большое значение, – это когда они находятся левее программного кода; в большей части других случаевневажно, есть пробелы или нет.

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

Иногда синтаксис языка Python����������������описывают фразой «what you see is what you get» (что видишь, то и получаешь) –отступ каждой строки однозначно говорит, к какому блоку она принадлежит.Такой непротиворечивый внешний вид программного кода на языке Pythonобеспечивает простоту его сопровождения и многократного использования.Отступы выглядят в программном коде куда более естественно, чем можнобыло бы подумать, и они обеспечивают отражение его логической структуры.Программный код, в котором отступы оформлены непротиворечивым образом,всегда будет соответствовать правилам языка Python. Кроме того, многие текстовые редакторы (включая IDLE) упрощают следование модели отступов, автоматически выравнивая программный код по мере его ввода.Не смешивайте пробелы и символы табуляции:новый механизм проверки ошибок в версии 3.0Для оформления отступов допускается использовать пробелы и символы табуляции, но обычно не принято смешивать их внутри блока – используйтечто-то одно – или пробелы, или символы табуляции.

С технической точкизрения считается, что символ табуляции смещает текущую позицию в строкедо ближайшей позиции с номером, кратным 8, и программный код будет интерпретироваться безошибочно, если пробелы и символы табуляции смешиваются непротиворечивым способом. Однако такой программный код будетдостаточно сложно изменять. Хуже того, смешивание пробелов и символовтабуляции ухудшают удобочитаемость программного кода – символы табуляции могут отображаться в текстовом редакторе другого программиста совсемне так, как у вас.В действительности, по только что описанным причинам, интерпретатор ���Python�������������������������������������������������������������������� 3.0 считает ошибкой непоследовательное смешивание пробелов и символов табуляции в пределах блока (то есть, когда величина отступов из смешанных символов в пределах блока может отличаться в зависимости от интерпретации ширины символов табуляции).

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

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

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

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