М. Лутц - Изучаем Python (4-е издание)- 2011 (1126907), страница 16
Текст из файла (страница 16)
Например, как только программист схватывает суть полиморфизма в Python, все остальное легко достраивается.Создатель языка Perl, напротив – лингвист, поэтому и язык отражаетего профессиональный опыт. В языке Perl одну и ту же задачу можнорешить множеством способов, а языковые конструкции взаимодействуют между собой контекстно-зависимым, порой трудноуловимым способом, во многом напоминая естественный язык общения. Как известно,девизом языка Perl является выражение: «Всякую задачу можно решитьболее чем одним способом».
Учитывая это, можно сказать, что язык Perlи сообщество его пользователей исторически стремились к свободе выражения мыслей при создании программного кода. Программный кододного программиста может радикально отличаться от программногокода другого. И правда, искусство создания уникального хитросплетения инструкций всегда было предметом гордости программистов на Perl.Однако любой, кто когда-либо занимался сопровождением программного кода, скажет вам, что свобода самовыражения хороша для искусства,но не для технологического процесса.
В технологии нам требуются минимальный набор возможностей и высокая степень предсказуемости.Свобода выражения мыслей в технологии может превратить процесс сопровождения в непрекращающийся кошмар. По секрету говоря, уже неот одного пользователя Perl я слышал, что проще написать свой код, чемвнести изменения в чужой.Когда художник пишет картину или ваяет скульптуру, он выражает этимисключительно себя, свои эстетические побуждения. Он не предполагает,что картина или скульптура будет изменяться другим художником.
Этоважное различие между искусством и технологическим процессом.6162Глава 1. Python в вопросах и ответахКогда программист пишет сценарий, он пишет его не для себя самого.Более того, сценарий пишется даже не для компьютера. Хороший программист знает, что свой программный код он пишет для другого человека, который будет вынужден читать его в ходе сопровождения и использования. Если этот человек не сможет понять сценарий, сценарийстанет практически бесполезным в реальной жизни.Многие находят в этом самое четкое отличие Python от других языковсценариев, подобных языку Perl. Синтаксическая модель Python вынуждает пользователя писать удобочитаемый программный код, поэтому программы на языке Python лучше вписываются в полный циклразработки программного обеспечения. А такие свойства Python, какограниченное число способов взаимодействия, единообразие, закономерность и непротиворечивость, способствуют появлению программного кода, который будет использоваться после того, как будет написан.В конечном счете, в центре внимания языка Python находится качествопрограммного кода, что само по себе повышает производительностьпрограммиста и приводит к появлению у него чувства удовлетворенности.
Программисты, использующие язык Python, могут быть не менеетворческими натурами и, как мы увидим позднее, в некоторых случаях этот язык также способен предложить несколько способов решенияодной и той же задачи. Тем не менее, в своей основе Python стимулируетведение разработки способами, часто недоступными в других языкахсценариев.По крайней мере, это общее мнение многих из тех, кто принял Pythonна вооружение.
Конечно, у вас сложится собственное суждение по мереизучения Python. А приступить к изучению мы сможем в следующейглаве.Глава 2.Как Python запускает программыВ этой и в следующей главе будут коротко рассмотрены вопросы исполненияпрограмм – как программы запускаются человеком и как Python выполняетих. В этой главе мы рассмотрим интерпретатор Python.
После этого в главе 3будет показано, как создавать и запускать свои собственные программы.Порядок запуска программ в любом случае зависит от типа платформыи какие-то сведения из этой главы могут оказаться неприменимы к платформе,используемой вами, поэтому вы можете просто пропускать разделы, которыене относятся к вам. Точно так же опытные пользователи, которым уже приходилось использовать подобные инструменты в прошлом и которые стремятсяпобыстрее добраться до самого языка, могут пропустить эту главу, оставив ее«для ознакомления в будущем».
А со всеми остальными мы попробуем разобраться, как запускать некоторый программный код.Введение в интерпретатор PythonДо сих пор я говорил о Python в основном как о языке программирования. Нов текущей реализации это еще и программный пакет , который называется интерпретатором. Интерпретатор – это такой модуль, который исполняет другие программы. Когда вы пишете код на языке Python, интерпретатор Pythonчитает вашу программу и выполняет составляющие ее инструкции. По сутидела интерпретатор – это слой программной логики между вашим программным кодом и аппаратурой вашего компьютера.В процессе установки пакета Python на компьютер создается ряд программных компонентов – как минимум, интерпретатор и библиотека поддержки.В зависимости от особенностей использования интерпретатор Python можетиметь вид исполняемой программы или набора библиотек, связанных с другойпрограммой.
В зависимости от версии Python сам интерпретатор может бытьреализован как программа на языке C, как набор классов Java или в какомлибо другом виде. Независимо от используемой разновидности Python вашпрограммный код на этом языке всегда будет выполняться этим интерпретатором. А чтобы обеспечить такую возможность, вы должны установить интерпретатор Python на свой компьютер.64Глава 2. Как Python запускает программыПроцедура установки Python отличается для разных платформ и подробноописывается в приложении A. В двух словах:•• Пользователи Windows должны получить и запустить инсталляционныйисполняемый файл, который произведет установку Python на компьютер.Для этого нужно просто дважды щелкнуть на инсталляционном файлеи отвечать «Yes» (Да) или «Next» (Далее) на все вопросы.•• В Linux или в Mac OS вполне возможно, что Python уже установлен и готовк использованию, поскольку он является стандартным компонентом этихоперационных систем.•• В отдельных версиях Linux и Mac OS (а также в большинстве версий UNIX)Python может собираться из исходных текстов.•• Пользователи Linux могут также отыскать файлы RPM, а пользователиMac OS – установочные пакеты для этой операционной системы.•• Процедура установки на других платформах зависит от этих платформ.
Например, Python присутствует также в сотовых телефонах, игровых консолях и в проигрывателе iPod, но процедуры установки Python на эти устройства слишком отличаются, чтобы описывать их здесь.Дистрибутив Python можно получить на странице загрузок сайта проекта. Егоможно также получить по другим каналам распространения программногообеспечения. Но имейте в виду, прежде чем приступать к установке, вы должны убедиться, что Python не был ранее установлен на ваш компьютер. Есливы пользуетесь операционной системой Windows, обычно Python можно найтив меню «����������������������������������������������������������������������Start�����������������������������������������������������������������» (Пуск), как показано на рис. 2.1 (эти пункты меню будут рассматриваться в следующей главе).
В операционных системах Linux и UNIX Pythonобычно находится в дереве каталогов /usr.Поскольку процедура установки сильно зависит от используемой платформы,мы здесь прервем рассказ о ней. За дополнительной информацией о ней обращайтесь к приложению A. В целях этой и следующей главы я буду исходить изпредположения, что Python уже установлен и готов к работе.Выполнение программыЧто стоит за словами «написать и запустить программу на языке Python» зависит от того, как вы смотрите на эту задачу – как программист или как интерпретатор Python.
Обе точки зрения определяют свой взгляд на программирование.С точки зрения программистаПрограмма на языке Python, в самой простой форме, – это обычный текстовыйфайл, содержащий инструкции Python. Например, следующий файл, с именем script0.py, – это один из простейших сценариев на языке Python, которыйтолько можно придумать, но его официально можно назвать программой наязыке Python:print(‘hello world’)print(2 ** 100)Выполнение программы65Рис. 2.1.
Когда Python установлен в Windows, его можно найти в меню «Start»(Пуск). Набор пунктов меню может немного отличаться, в зависимости отверсии, но пункт IDLE запускает среду разработки с графическим интерфейсом, а пункт Python запускает простой интерактивный сеанс работы с интерпретатором. Кроме того, здесь же можно увидеть пункты вызова стандартного справочного руководства и запуска механизма документированияPyDoc (пункт Module Docs)Этот файл содержит две инструкции print, которые просто выводят строку(текст в кавычках) и результат числового выражения (2 в степени 100) в выходной поток.
Не надо сейчас стараться вникнуть в синтаксис языка – в этойглаве нас интересует лишь сам порядок запуска программ. Позднее я расскажу66Глава 2. Как Python запускает программыоб инструкции print и объясню, почему можно возвести число 2 в степень 100,не опасаясь получить ошибку переполнения.Создать такой файл можно с помощью любого текстового редактора. По общепринятым соглашениям файлы с программами на языке Python должныиметь расширение .py – с технической точки зрения, это требование должновыполняться только для «импортируемых» файлов, как будет показано позднее в этой книге, но большинству файлов с программами на языке Python даются имена с расширением .py для единообразия.После того как инструкции будут введены в текстовый файл, можно потребовать от Python выполнить его, то есть просто выполнить все инструкциив файле одну за другой от начала и до конца.
Как будет показано в следующейглаве, вы можете запускать программы, щелкая на их пиктограммах или другими стандартными способами. Если при выполнении файла все пройдет какнадо, вы увидите результаты работы двух инструкций print где-то на экранесвоего компьютера – обычно это происходит в том же окне, где производилсязапуск программы:hello world1267650600228229401496703205376Например, ниже показано, что произошло, когда я попытался запустить этотсценарий в командной строке DOS на ноутбуке, где установлена операционнаясистема Windows (обычно эту программу можно найти в меню Accessories (Стандартные) под названием Command Prompt (Командная строка)), чтобы убедиться, чтоя не допустил никаких опечаток:C:\temp> python script0.pyhello world1267650600228229401496703205376Мы только что запустили сценарий, который вывел строку и число. Вероятно,мы не получим награды на конкурсе по программированию за этот сценарий,но его вполне достаточно, чтобы понять основные принципы запуска программ.С точки зрения PythonКраткое описание, приведенное в предыдущем разделе, является довольностандартным для языков сценариев, и это обычно все, что необходимо знатьпрограммисту.