Простой Python — страница 5 из 66

http://golang.org/) (который, по ощущениям, похож на Python, но имеет более высокую производительность, вроде С).

Python 2 против Python 3

Самая большая проблема, с которой вы можете столкнуться сейчас, — это выбор одной из двух существующих версий Python. Python 2, кажется, существовал всегда, эта версия предустанавливается на компьютеры с операционными системами семейства Linux. Это был отличный язык, но ничто не идеально. В языках программирования, как и во многих иных областях, одни ошибки поверхностные, и исправить их легко, а другие — трудно. Решения этих трудных проблем несовместимы: новые программы, написанные с помощью исправленного языка, не будут работать на старых системах, а старые программы не будут работать на новых.

Создатель языка Python Гвидо ван Россум (Guido van Rossum) (https://www.py-thon.org/~guido) и другие объединили решения трудных проблем и назвали их Python 3. Python 2 — это прошлое, а Python 3 — будущее. Последняя версия Python 2 имеет номер 2.7, она еще долго будет поддерживаться, но на ней род заканчивается; Python 2.8 никогда не выйдет. Новая разработка будет вестись на Python 3.

В этой книге описывается Python 3. Если вы раньше использовали Python 2, то практически не заметите разницы. Самое очевидное изменение — это способ вызова функции print. Самое главное изменение — это обработка символов Unicode, она рассматривается в главах 2 и 7. Преобразование популярного ПО, написанного на Python, выполняется постепенно. Но сейчас кажется, что мы наконец достигли переломного момента.

Установка Python

Чтобы не занимать много места, я вынес детали установки Python 3 в приложение Г. Если у вас еще не установлен Python 3 или вы не знаете этого точно, обратитесь к приложению и посмотрите, что вам нужно сделать со своим компьютером.

Запуск Python

После того как вы установите рабочую копию Python 3, можете использовать ее, чтобы запускать как программы, приведенные в этой книге, так и собственный код. Как же запустить программу, написанную на языке Python? Существует два основных способа.

• Интерактивный интерпретатор, который поставляется вместе с Python, дает возможность экспериментировать с небольшими программами. Вы вводите команды строка за строкой и мгновенно видите результат. Благодаря тесному связыванию между печатанием и просмотром можете проводить эксперименты быстрее. Я буду использовать интерактивный интерпретатор, чтобы продемонстрировать возможности языка, а вы можете вводить те же команды в собственной среде Python.

• Для всего прочего сохраняйте программы в виде текстовых файлов с расширением. py, а затем запускайте их, введя python и имена этих файлов.

Попробуем воспользоваться обоими методами.

Интерактивный интерпретатор

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

Интерпретатор запускается путем ввода имени основной программы Python для вашего компьютера: python, python3 или чего-то похожего. В дальнейшем мы будем предполагать, что она называется python. Если ваша программа называется по-другому, то для ее запуска вам следует ввести именно это имя.

Интерактивный интерпретатор работает практически так же, как и интерпретатор для файлов, но с одним исключением: когда вы вводите обычное значение, интерактивный интерпретатор автоматически выведет его на экран. Например, если вы запустите Python и введете в интерпретатор число 61, оно будет продублировано в терминале.


В следующем примере символ $ — это обычное приглашение ввести команду вроде python в окно терминала. Мы будем использовать ее для примеров кода в этой книге, однако ваше приглашение может отличаться.


$ python

Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 01:25:11)

[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> 61

61

>>>

Автоматическое выведение значения — это экономящая время особенность интерактивного интерпретатора, а не часть языка Python.

Кстати, функция print() также работает внутри интерпретатора, на случай если вам понадобится вывести что-то на экран:

>>> print(61)

61

>>>

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

Файлы Python

Если вы запишете в файл число 61 и запустите этот файл с помощью Python, он выполнится, но на экране ничего не появится. В обычных неинтерактивных программах для Python вам нужно вызвать функцию print, чтобы вывести что-то на экран, как показано в следующем фрагменте кода:

print(61)

Создадим файл программы Python и запустим его.

1. Откройте текстовый редактор.

2. Введите в него строку print(61), как показано ранее.

3. Сохраните этот файл с именем 61.py. Убедитесь, что вы сохранили его как простой текст, а не в формате вроде RTF или DOC. Вы не обязаны использовать расширение. py для файлов программ Python, но оно поможет вам запомнить предназначение файла.

4. Если вы пользуетесь графическим пользовательским интерфейсом — это касается практически каждого, — откройте окно терминала[1].

5. Запустите программу, введя следующую строку:

$ python 61.py

Вы должны увидеть такую строку:

61

Сработало? Если да, то примите мои поздравления по поводу того, что вы запустили свою первую автономную программу для Python.

Что дальше?

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

Самый простой способ разработки программы на Python — применение простого текстового редактора и окна терминала. В рамках этой книги я использую именно такие редакторы, иногда показывая интерактивные сессии работы с терминалом, а иногда — фрагменты файлов. Вам следует знать, что существует множество интегрированных сред разработки (Integrated Development Environment, IDE) для Python. Они могут предоставлять вам графические пользовательские интерфейсы, помогающие в редактировании текста, и экраны помощи. Более подробно вы прочитаете о них в главе 12.

Момент просветления

Каждый язык программирования имеет свой стиль. Во введении я упомянул, что существует характерный для Python способ выразить себя. В Python встроен небольшой текст, который выражает его философию (насколько я знаю, Python — это единственный язык программирования, содержащий подобное «пасхальное яйцо»). Когда вам захочется ощутить момент просветления, просто введите import this в интерактивный интерпретатор, а затем нажмите клавишу Enter:

>>> import this

Красивое лучше, чем уродливое.

Явное лучше, чем неявное.

Простое лучше, чем сложное.

Сложное лучше, чем запутанное.

Одноуровневое лучше, чем вложенное.

Разреженное лучше, чем плотное.

Читаемость имеет значение.

Особые случаи не настолько особые, чтобы нарушать правила.

При этом практичность важнее безупречности.

Ошибки никогда не должны замалчиваться.

Если не замалчиваются явно.

Встретив двусмысленность, отбрось искушение угадать.

Должен существовать один — и желательно только один — очевидный способ сделать это.

Хотя он поначалу может быть и не очевиден, если вы не голландец.

Сейчас лучше, чем никогда.

Хотя никогда зачастую лучше, чем прямо сейчас.

Если реализацию сложно объяснить — идея плоха.

Если реализацию легко объяснить — идея, возможно, хороша.

Пространства имен — отличная штука! Будем делать их побольше!

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

Упражнения

Эта глава является введением в язык программирования Python. Здесь было показано, что он делает, как выглядит и где его можно применить. В конце каждой главы я буду предлагать выполнить небольшие проекты, которые помогут вам запомнить то, что вы только что прочитали, и подготовят к следующим урокам.

1. Если вы еще не установили Python 3, сделайте это сейчас. Прочтите приложение Г, чтобы узнать детали.

2. Запустите интерактивный интерпретатор Python 3. И вновь детали вы найдете в приложении Г. Интерпретатор должен вывести несколько строк о себе, а затем строку, начинающуюся с символов