Саммерфилд - Программирование на Python 3 (1077331), страница 4
Текст из файла (страница 4)
Быстрое введение в процедурное программирование В этой главе приводится объем информации, достаточный, чтобы начать писать программы на языке РуФЬоп. Мы настоятельно рекомендуем установить РуФ11оп, если вы еще не сделали этого, чтобы иметь возможность получить практический опыт для закрепления изучаемого материала. (Во введении описывается, как получить и установить РуФпоп во всех основных платформах, подробности на стр. 17.) Первый раздел этой главы показывает, как создавать и запускать программы на языке Ру$поп. Для написания программного кода вы можете использовать любой простой текстовый редактор по своему усмотрению, при этом среда разработки ПП,Е, обсуждаемая в этом разделе, предоставляет не только редактор программного кода, но и дополнительные функциональные возможности, включая средства отладки и проведения экспериментов с программным кодом РуФпоп.
Во втором разделе будут представлены восемь составляющих языка РуСЬоп, знания которых вполне достаточно для создания программ, имеющих практическую ценность. Все эти составляющие будут рассмотрены глубже в последующих главах и по мере продвижения вперед будут дополняться остальными особенностями языка Рубанов, чтобы к концу книги весь язык оказался полностью охваченным, а вы были в состоянии использовать в своих программах все, что он предлагает.
В заключительной части главы представлены две короткие программы, в которых используется подмножество особенностей языка Рубанов, введенных во втором разделе, благодаря чему вы сможете получить представление о программировании на языке Ру1поп. Глава 1. Быстрое введение а процедурное программирование Создание и запуск программ на языке РуФоп о Программный код на языке Ру$)топ можно записать с по,„и,елее мощью любого простого текстового редактора, который стр.112 способен загружать и сохранять текст либо в кодировке АЗСП, либо ()ТР-8. По умолчанию предполагается, что файлы с программным кодом на языке Ру(Поп сохраняются в кодировке ПТР-8, надмножестве кодировки АЯСП, с помощью которой можно представить практически любой символ любого национального алфавита.
Файлы с программным кодом на языке Ру1Ьоп обычно имеют расширение .ру, хотя в некоторых ()Х1Х-подобных системах (таких как 1лппх и Мас ОВ Х) некоторые приложения на языке Ру1Ьоп не имеют расширения, а программы на языке Ру(Ьоп с графическим интерфейсом, в частности в Ът'1пботта и Мас ОЯ Х, обычно имеют расширение .душ. В этой книге все время будет использоваться расширение .ру для обозначения консольных программ и модулей Ру1Ьоп и расширение .рув — для программ с графическим интерфейсом. Все примеры, представленные в книге, не требуют изменений для запуска в любой из платформ, поддерживаемых Ру1)топ 3.
Ради того чтобы удостовериться, что установка выполнена корректно, и чтобы продемонстрировать классический первый пример, создадим файл с именем 11 ейо.ру в простом текстовом редакторе (в т(Г)пс(стев для этих целей вполне подойдет «Влокнотэ (Хо$ерад), а кроме того вскоре будет рассказано о более удобном редакторе) со следующим содержимым: м /еесдмл/елч рутлоез ргтлт("Не11о", "Иет1С. '") Первая строка — это комментарий. В языке Ру1)топ комментарии начинаются с символа а и продолжаются до конца строки.
(Через минуту мы объясним назначение этого странного комментария.) Вторая строка — пустая. Ру1Ьоп игнорирует пустые строки, но их бывает резонно вставлять, разбивая протяженные блоки программного кода на более мелкие части, более удобные для восприятия. Третья строка — это программный код на языке Ру$Ьоп. В данном случае вызывается функция рылт(), которой передается два аргумента, оба — типа зт г (ат ылс, или строка, то есть последовательность символов). Все инструкции, которые встретятся в файле с расширением .ру, выполняются последовательно, строка за строкой, начиная с первой строки. В этом заключается отличие от других языков программирования, таких как С++ или дача, в которых имеются функции илн методы со специальными именами, которые запускаются в первую оче- Создание и запуск программ на языке РутИоп редь. Порядок выполнения инструкций может быть изменен, в чем можно будет убедиться при обсуждении управляющих структур языка РуФЬоп в следующем разделе.
Будем считать, что пользователи 'Иг)пг)отув сохраняют файлы с программным кодом Ру$Ьоп в каталоге С:'1руЗед, а пользователи 1)1«11Х (то есть ПХ1Х, В(ппх и Мас ОЯ Х) — в каталоге ЗНОМЕ/руЗеу. Сохраните файл гге((о.ру в каталоге руЗеу и закройте текстовый редактор. Теперь, когда у нас имеется программа, ее можно запустить. Программы на языке Район выполняются интерпретатором Ру(Ьоп, и, как правило, делается это в окне консоли. В операционной системе уу'1пдовгв консоль может называться «Командная строка» (Сопзо(е), или «005 Ргогпр(», или «г«5-005 Ргогпр1» или иметь похожее название, и обычно доступна в меню «Пуск-+Все программы-+Стандартные» (5(аг(-»АИ Ргойгагпз-+ Ассеззопез). В Мас ОЯ Х консоль представлена программой Тегшапа1.
арр (по умолчанию находится в меню Аррйсабопз/Итйрбез), которую можно отыскать с помощью инструмента Езпбег. В других 1))«11Х-подобных системах можно использовать программу хтегш или консоль, предоставляемую используемым оконным окружением, например, Копзо1е или Слове-тегш1па1. Запустите консоль и в операционной системе 1Аг)пдотев введите следующие команды (предполагается, что РуФоп был установлен в каталог по умолчанию) — вывод консоли показан хирнии шрифтои, а вводимые вами команды — обшчнни ионошнринннм: С:'т>со с:~рузеО с:'трузеат>с:1Рутпспз01рутпсп.ехе пе11с.ру Поскольку в команде сб (сЬапяе г(1гесФогу — изменить каталог) указан абсолютный путь, не имеет значения, в каком каталоге вы находились перед этим.
Пользователи 1))х)1Х должны ввести следующие команды (предполагается, что путь к РуФЬоп 3 включен в переменную окружения РАТИ) Ф се Зноие/рузес $ ругнопЗ Пе11с.ру В обоих случаях вывод программы должен быть одним и тем же: НеПо Ног1гн Обратите внимание: если не указано иное, РуСИоп ведет себя в Мас ОЯ Х точно так же, как и в других системах 1))х(1Х.
В действительности под общим термином «Т)1ч1Х» мы подразумеваем Ь(ппх, ВЯ)>, Мас ОЯ Х и большинство других версий П)ч1Х и ()Х1Х-подобных систем. Внешний внд строки приглашения к вводу в системах 1Лх1Х может отличаться от 3, квк показано здесь, но для нас это не имеет никакого значения. 24 Глава 1. Быстрое введение в процедурное программирование о Несмотря на то, что в данной программе имеется всего Функция ргтптО одна выполнЯемаЯ инстРУкциЯ, запУскаЯ ее, мы можем стр. 212 сделать некоторые выводы о функции рг1п1(). С одной стороны, функция рг1пт() является встроенной частью языка Ру1)топ — чтобы воспользоваться ею нам не пришлось «импортировать» или «подключать» какие-либо библиотеки.
Кроме того, при выводе она отделяет аргументы одним пробелом, а после вывода последнего аргумента выполняет переход на новую строку. Это поведение по умолчанию, которое можно изменить, в чем вы убедитесь позднее. Другое ценное замечание о функции рг1п1() заключается в том, что она может принимать столько аргументов, сколько потребуется.
Ввод последовательности команд для выполнения программ на языке Ру1)топ может быстро надоесть. К счастью„и в у(г1пг(отув, и в ())й1Х существуют более удобные способы. Предположим, что мы уже находимся в каталоге руЗея, тогда в у(Г1пдотув достаточно будет ввести команду: С: 1рузев1>ле11о. ру Ю1пдотув использует свой реестр соответствия программ расширениям файлов и при вводе имен файлов с расширением .ру автоматически вызывает интерпретатор Ру1)топ. Если в консоли будет выведено: ('Не11о', 'Иог16! ') то это означает, что в системе установлен Ру1)топ 2, который вызывается вместо Ру1)топ 3.
Один из вариантов следующих действий — переключить ассоциацию расширения .ру с Ру1)топ 2 на Ру1)топ 3. Другое решение (менее удобное, но более безопасное) — включить каталог с Ру1)топ 3 в путь поиска (предполагается, что он был установлен в каталог по умолчанию) и всякий раз явно вызывать его: с: ~рузой>рати=с:1рутпопзопьрятпк С:'1руэво1>рутлоп Пеио, ру Возможно„было бы удобнее создать единственный пакетный файл руЗ.(>ат с единственной строкой ратп=с; 1Ру1попЗО; %ратп% и сохранить его в каталоге С:'1»1г(латок>в.
После этого при запуске консоли для выполнения программ Ру1)топ 3 достаточно будет выполнять команду руЗ. Ьат. При желании можно настроить автоматический запуск файла руЗ.(>ат. Для этого следует изменить свойства консоли: отыщите консоль в меню Пуск (51аг1), щелкните на ярлыке правой кнопкой мыши и выберите в контекстном меню пункт Свойства (Ргорег()ев), затем во вкладке Ярлык (5Ьогтсц1) в конец строки в поле Объект (Твгде1) добавьте «/ц /к с: т,нтпСонв'труЗ,Ьа1» (обратите внимание на пробелы перед, между и после Создание и запуск программ на языке РузЬоп параметров «/с» и «/К» и убедитесь, что указанная строка добавлена после «сзб,ехе»). В ()М1Х сначала файл следует сделать выполняемым, после чего его можно будет запускать, просто введя его имя: 3 спасе»х пе11о.ру З ./пепо,ру Конечно, команду созоо придется запускать всего один раз, после етого достаточно будет просто вводить имя программы, /Пе11о, ру, чтобы запустить ее.