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

Лутц М. - Изучаем Python (1077325), страница 60

Файл №1077325 Лутц М. - Изучаем Python (Лутц М. - Изучаем Python) 60 страницаЛутц М. - Изучаем Python (1077325) страница 602018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Стиль языка РуФ)топ состоит в том, чтобы вообще опускать скобки в подобных инструкциях. Конец строки является концом инструкции Второй, еще более важный синтаксический элемент, который вы не найдете в программном коде на языке РуФ)топ, — это точка с запятой. В языке РуФЬоп не требуется завершать инструкции точкой с запятой, как это делается в С-подобных языках: х= 1; Общее правило в языке РуФЬоп гласит, что конец строки автоматически считается концом инструкции, стоящей в этой строке. Другими словами, вы можете отбросить точку с запятой и инструкция будет работать точно так же: Существует несколько способов обойти это правило, с которыми вы вскоре познакомитесь. Но в общем случае большая часть программного кода на языке РуФЬоп пишется по одной инструкции в строке, и тогда точка с запятой не требуется. В данном случае, если вы скучаете по тем временам, когда программировали на языке С (если такое состояние вообще возможно...), можете продолжать вставлять точки с запятой в конце каждой инструкции— синтаксис языка допускает это.

Но не делайте этого: потому что если вы будете поступать так, окружающим сразу будет видно, что вы остаетесь программистом на языке С, который никак не может переклю- Глава 10. Введение з инструкции языка Ру()топ читься на использование языка Ру(Ьоп. Стиль языка Ру(Ьоп состоит в том, чтобы вообще опускать точки с запятой.' Конец отступа — это конец блока Теперь третий, и последний, синтаксический компонент, который удаляет РуФЬоп, и возможно, самый необычный для недавних ех-С-программеров (пока они не поработают с РуФЬоп 10 минут и не поймут, что в действительности это является достоинством языка), — вы не вводите ничего специально в ваш код, чтобы синтаксически пометить начало нконец вложенного блока кода.

Вам не нужно вставлять Оейтп/епа, слеп/апет! или фигурные скобки вокруг вложенных блоков', как это делается в С-подобных языках: тт(х>у) ( х=1; у=2; ) Для этих целей в языке РуФЬоп используются отступы, когда все инст. рукции в одном и том же вложенном блоке оформляются с одинаковыми отступами от левого края. По величине отступа интерпретатор определяет, где находится начало блока и где — конец: !1 х > у. х=1 у=2 Под отступами (!лс(ел!а!(ол) в данном примере я подразумеваю пустое пространство слева от двух вложенных инструкций.

Интерпретатор не накладывает ограничений на то, как выполняются отступы (для этого можно использовать символы пробела или символы табуляции), и на величину отступов (допускается использовать любое число пробелов или символов табуляции), При этом отступ для одного вложенного блока может существенно отличаться от отступа для другого блока. Синтаксическое правило состоит лишь в том, что все инструкции в пределах одного блока должны иметь один и тот же отступ от левого края. Если это не так, будет получена синтаксическая ошибка, и программный код не будет работать, пока вы не исправите отступ.

Почему отступы являются частью синтаксиса? Правило оформления отступов может показаться необычным на первый взгляд для программистов, работавших с С-подобными языками Кстати, в дачаЯсг!рз также можно не ставить точку с запятой в конце строки, но широко распространена традиция ставить такой ограничитель, демонстрируя тем самым как раз хороший стиль оформления программного кода.

— Примеч. науч. ред. Известна программистская шутка, уместная в этом контексте: это не Ьпй, это уеаз и ге. — Примеч. науч. ред. История о двух (( 279 программирования, но это было сделано преднамеренно и является одним из основных способов, которыми язык Ру1Ьоп вынуждает программистов писать однородный и удобочитаемый программный код. По существу это означает, что вы должны выстраивать свой программный код вертикально, выравнивая его в соответствии с логической структурой.

В результате получается менее противоречивый и более удобочитаемый программный код (в отличие от большей части кода, написанного на С-подобных языках). Требования к выравниванию программного кода в соответствии с его логической структурой — это главная составляющая, способствующая созданию удобочитаемого кода, и, следовательно, кода, пригодного к многократному использованию и простого в сопровождении как вами, так и другими. Фактически, даже если ранее вы никогда не использовали Ру$Ьоп, после прочтения этой книги у вас должна выработаться привычка оформлять отступы в программном коде для удобочитаемости в любом языке программирования. Язык Ру(Поп вносит определенные ограничения, сделав отступы частью синтаксиса, но они достаточно важны для любого языка программирования и оказывают огромное влияние на применимость вашего программного кода. Ваш опыт может отличаться от моего, но когда я занимался разработкой полный рабочий день, мне платили зарплату за работу над крупными старыми программами, написанными на языке С++, над которыми долгие годы трудились множество программистов.

Практически у каждого программиста был евой стиль оформления программного кода. Например, мне часто приходилось изменять циклы ия(1е, написанные на языке С++, которые начинались примерно так: иы1е (х > О) ( Даже еще не дойдя до отступов, мы можем столкнуться с тремя или четырьмя способами расстановки фигурных скобок в С-подобных языках. В организациях часто ведутся жаркие споры и пишутся стандарты по оформлению исходных текстов программ (обсуждение которых сильно выходит за рамки проблем, которые решаются в процессе программирования).

Оставим этот вопрос в стороне, ниже приводится пример оформления, с которым мне часто приходилось сталкиваться в программном коде на языке С++. Первый программист, который поработал над этим циклом, оформлял отступы четырьмя пробелами: иы1е (х > О) ( Со временем этот программист был переведен на руководящую должность, н его место занял другой, который предпочитал использовать более широкие отступы: их>1е (х > О) ( 280 Глава 10. Введение в инструкции языка Руйоп Позднее и он ушел на другую работу, а его место занял третий, которому не нравилось делать отступы: нП11Е (х > 0> ( И так далее. В конце блок завершается закрывающей фигурной скобкой ()), которая и делает этот фрагмент структурированным (о чем можно говорить с определенной долей сарказма).

В любом блочноструктурированном языке программирования, будь то Ру()топ или другой язык, если вложенные блоки не имеют непротиворечивых отступов, их очень сложно читать, изменять и приспосабливать для многократного использования. Отступ — это важная составляющая поддержки удобочитаемости. Ниже приводится другой пример, на котором, возможно, вам приходилось обжечься, если вы достаточно много программировали на С-подобном языке, Взгляните на следующие инструкции языка С: тт (х) зт (т) зтзтеяепт1; е1зе зтатезепт2; К какому оператору 11 относится инструкция е1зе7 Это удивительно, но инструкция е1зе относится к вложенному оператору 11 - (тт(у)), даже при том, что визуально она выглядит так, как если бы относилась к внешнему оператору 1à — (1((х)). Это классическая ловушка языка С и она может привести к неправильному пониманию программного кода тем, кто его изменяет, и к появлению ошибок при его изменении, которые будут обнаружены, только когда марсоход врежется в скалу! Такого ие может произойти в языке Ру(акоп, потому что отступы для не.

го имеют важное значение и программный код работает именно так, как выглядит. Взгляните на эквивалентный фрагмент на языке Ру(Ьоп: тт х.' зт зтатевептп е1зе зтассаепт2 281 История о двух Н В этом примере инструкции 1! и е1ве, расположенные на одной вертикальной линии, связаны логически (внешний оператор 1! х). В некотором смысле Ру$)топ — это язык типа т!(/УВ1»!1/У0 (Ж)таФ Топ Бее 1в»тт)та1 Топ Се( — что видишь, то и получаешь) — что вы видите, то и получаете, потому что порядок оформления программного кода определяет порядок его выполнения независимо от предпочтений того, кто его пишет. Если этого недостаточно, чтобы осознать преимущества синтаксиса языка РуФ)топ, приведу одну историю.

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

Тот факт, что в языке Ру1)топ отступы были возведены в ранг синтаксиса, по большей части выглядит как достоинство языка. Наконец, имейте в виду, что практически любой текстовый редактор с дружественным (для программистов) интерфейсом обладает встроенной поддержкой синтаксической модели языка Ру$)топ. В Ру1)топ-среде разработки 1ПЬЕ, например, отступы оформляются автоматически', когда начинается ввод вложенного блока; нажатие клавиши Вас)сврасе (забой) возвращает на один уровень вложенности выше, а кроме того, П)1 Е позволяет настроить величину отступов во вложенном блоке. Нет никаких стандартных требований к оформлению отступов: чаще всего используются четыре пробела или один символ табуляции на каждый уровень вложенности; вам самим решать, какой ширины отступы вы будете использовать.

Выполняйте отступ вправо, чтобы открыть вложенный блок, и возвращайтесь на предыдущий уровень, чтобы закрыть его. Кроме того, на практике замена фигурных скобок символами табуляции является достаточно простой задачей для инструментальных средств, которые должны выводить программный код на языке Ру$)топ.

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

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

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

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