Марк Лутц - Изучаем Python, Четвертое издание (1184811), страница 17
Текст из файла (страница 17)
А со всеми остальными мы попробуем разобраться, как запускать некоторый программный код.Введение в интерпретатор 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Краткое описание, приведенное в предыдущем разделе, является довольностандартным для языков сценариев, и это обычно все, что необходимо знатьпрограммисту. Вы вводите программный код в текстовый файл, а затем запускаете этот файл с помощью интерпретатора.
Однако, когда вы говорите интерпретатору «вперед», за кулисами много чего происходит. Хотя знание внутреннего устройства Python и не требуется для овладения навыками программирования на этом языке, тем не менее, понимание того, как производится выполнение программ, поможет вам увидеть всю картину в целом.Когда интерпретатор Python получает от вас команду запустить сценарий, онвыполняет несколько промежуточных действий, прежде чем ваш программный код начнет «скрипеть колесами». В частности, сценарий сначала будетскомпилирован в нечто под названием «байт-код», а затем передан механизму,известному под названием «виртуальная машина».Выполнение программы67Компиляция в байт-кодКогда вы запускаете программу, практически незаметно для вас Python сначала компилирует ваш исходный текст (инструкции в файле) в формат, известный под названием байт-код.
Компиляция – это просто этап переводапрограммы, а байт-код – это низкоуровневое, платформонезависимое представление исходного текста программы. Интерпретатор Python транслируеткаждую исходную инструкцию в группы инструкций байт-кода, разбивая еена отдельные составляющие. Такая трансляция в байт-код производится дляповышения скорости – байт-код выполняется намного быстрее, чем исходныеинструкции в текстовом файле.В предыдущем абзаце вы могли заметить фразу – практически незаметно длявас. Если интерпретатор Python на вашем компьютере обладает правом записи, он будет сохранять байт-код вашей программы в виде файла с расширением.pyc (.pyc – это компилированный исходный файл .py). Вы будете обнаруживатьэти файлы после запуска программ по соседству с файлами, содержащими исходные тексты (то есть в том же каталоге).Интерпретатор сохраняет байт-код для ускорения запуска программ. В следующий раз, когда вы попробуете запустить свою программу, Python загрузитфайл .pyc и минует этап компиляции – при условии, что исходный текст программы не изменялся с момента последней компиляции.