Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чаплыгин А.Н. Учимся програмировать вместе с Пи...doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

§1.4. Интерпретаторы и компиляторы

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

Исходный код

Интерпретатор

Операционная система

t>

Результат выполнения программы

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

Исходный код

41

Объектный Компилятор (исполняемый)

^Г> код

4

Операционная система

Результат выполнения программы

Впрочем, современные интерпретаторы тоже способны сохранять промежуточный код, на выполнение которого затрачивается меньше времени за счет экономии на синтаксическом разборе исходного кода. Тем не менее, такой промежуточный код понятен

18

Ревизия: 170

Базовые понятия

только интерпретатору, поэтому для запуска программы его наличие на компьютере все равно необходимо.

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

Язык Питон является интерпретируемым, т.к. написанные на нем программы выполняет интерпретатор.

Для Windows-версии Питона существует любопытный проект: ру2ехе, позволяющий создавать независимые ехе-файлы из скриптов.

По сути ру2ехе не является собственно компилятором - он преобразовывает скрипт в промежуточный код при помощи самого Питона и помещает в исполняемый файл необходимую часть интерпретатора вместе с этим промежуточным кодом и кодом всех используемых в программе модулей.

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

Однако, полученный исполняемый файл может работать только под операционной системой Windows. Если ваша программа предназначена для выполнения только в этой системе и вы не хотите требовать от пользователей непременной установки Питона, тору2ехе может оказаться весьма полезным инструментом.

Получить дополнительную информацию и скачать ру2ехе можно здесь: http://starship.python.net/crew/theller/py2exe/. Там же можно найти ссылки на другие аналогичные проекты.

§1.5. Первая программа

Настало время запустить интерпретатор Питона и написать первую программу. Существует два способа использования интерпретатора: командный режим и режим выполнения программ из файлов. Если в командной строке интерпретатора Питона вы наберете команду, то интерпретатор тут же выведет результат ее выполнения:

$ python

Python 2.3+ (#1, Sep 23 2003, 23:07

:16)

[GCC 3.3.1 (SuSE Linux)] on linux2

Type "help", "copyright", "credits"

or "license"

for more

information.

>» print "Hello world!"

Hello world!

Первая строка примера - команда, которая запускает интерпретатор Питона в операционной системе UNIX. В операционной системе Windows для вызова интерпретатора достаточно в меню «Пуск —> Программы» вызвать среду разработки ШЬЕ. Следующие две строки - информация от интерпретатора (номер версии, авторские права - так он

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

19

Ревизия: 170

Базовые понятия

представляется). Четвертая начинается с приглашения интерпретатора >», которое обозначает, что он готов выполнять команды. Мы набрали команду print "Hello world! ", т.е. дали указание вывести на экран строку "Hello world! ", и в следующей строке интерпретатор вывел то, что мы просили.

Мы также можем записать программу в файл и использовать интерпретатор для того, чтобы ее выполнить. Такой файл называют сценарием или скриптом (от англ. script-сценарий). Например, используя текстовый редактор, создадим файл progl.py со следующим содержанием:

print "Hello world!"

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

$ python progl.py Hello world!

В других программных средах метод запуска программ может отличаться, но принцип вызова интерпретатора останется таким же.

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