Первые шаги

Давайте посмотрим, как создать традиционную программу “Hello World” на Python. Это научит вас писать, сохранять и выполнять программы на Python.

Существует два способа запуска программ на Python: использование интерактивного приглашения интерпретатора и использование файла с текстом программы. Сейчас мы увидим, как пользоваться обоими методами.

Использование командной строки интерпретатора

Откройте окно терминала (как было описано в главе Установка) и запустите интерпретатор Python, введя команду python3 и нажав Enter.

Пользователи Windows могут запустить интерпретатор в командной строке, если установили переменную PATH надлежащим образом. Чтобы открыть командную строку в Windows, зайдите в меню “Пуск” и нажмите “Выполнить...”. В появившемся диалоговом окне введите “cmd” и нажмите Enter; теперь у вас будет всё необходимое для начала работы с python в командной строке DOS.

Если вы используете IDLE, нажмите “Пуск” –> “Программы” –> “Python 3.0” –> “IDLE (Python GUI)”.

Как только вы запустили python3, вы должны увидеть >>> в начале строки, где вы можете что-то набирать. Это и называется командной строкой интерпретатора Python.

Теперь введите print('Hello World') и нажмите клавишу Enter. В результате должны появиться слова “Hello World”.

Вот пример того, что вы можете увидеть на экране, если будете использовать компьютер с Mac OS X. Информация о версии Python может отличаться в зависимости от компьютера, но часть, начинающаяся с приглашения (т.е. от >>> и далее) должна быть одинаковой на всех операционных системах.

$ python3
Python 3.3.0 (default, Oct 22 2012, 12:20:36)
[GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.60))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello world')
hello world
>>>

Обратите внимание, что Python выдаёт результат работы строки немедленно! Вы только что ввели одиночный “оператор” Python. print используется для того, чтобы (что неудивительно[1] ) напечатать любое переданное в него значение. В данном случае мы передали в него текст “Hello World”, который и был напечатан на экране.

Совет

Как выйти из командной строки интерпретатора

Если вы используете IDLE или оболочку GNU/Linux или BSD, вы можете выйти из командной строки интерпретатора нажатием Ctrl-D или введя команду exit() (примечание: не забудьте написать скобки, “()”), а затем нажав клавишу Enter. Если вы используете командную строку Windows, нажмите Ctrl-Z, а затем нажмите клавишу Enter.

Выбор редактора

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

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

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

Если вы не знаете, с чего начать, я бы порекомендовал воспользоваться программой Komodo Edit, которая доступна для Windows, Mac OS X и GNU/Linux.

Если вы пользуетесь Windows, Не используйте Блокнот – это плохой выбор, поскольку он не обладает функцией подсветки синтаксиса, а также не позволяет автоматически вставлять отступы, что очень важно в нашем случае, как мы увидим позже. Хорошие редакторы, как Komodo Edit, позволяют делать это автоматически.

Опытные программисты, должно быть, уже используют Vim или Emacs. Не стоит даже и говорить, что это два наиболее мощных редактора, и вы только выиграете от их использования для написания программ на Python. Лично я пользуюсь ими обоими для большинства своих программ, и даже написал книгу о Vim. Я настоятельно рекомендую вам решиться и потратить время на изучение Vim или Emacs, поскольку это будет приносить вам пользу долгие годы. Однако, как я уже писал выше, новички могут пока просто остановиться на Komodo Edit и сосредоточиться на изучении Python, а не текстового редактора.

Я повторюсь ещё раз: обязательно выберите подходящий редактор – это сделает написание программ на Python более простым и занимательным.

Для пользователей Vim

Для пользователей Emacs

Использование программных файлов

А теперь давайте вернёмся к программированию. Существует такая традиция, что какой бы язык программирования вы ни начинали учить, первой вашей программой должна быть программа “Привет, Мир!”. Это программа, которая просто выводит надпись “Привет, Мир!”. Как сказал Simon Cozens[2], это “традиционное заклинание богов программирования, которое поможет вам лучше изучить язык”.

Запустите выбранный вами редактор, введите следующую программу и сохраните её под именем helloworld.py .

Если вы пользуетесь Komodo Edit, нажмите “Файл” –> “Новый” –> “Новый файл”, введите строку:

print('Привет, Мир!')

В Komodo Edit нажмите “Файл” –> “Сохранить” для сохранения файла.

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

  • C:\py в Windows
  • /tmp/py в GNU/Linux
  • /tmp/py в Mac OS X

Чтобы создать папку, воспользуйтесь командой mkdir в терминале. Например, mkdir /tmp/py.

Важно

Не забывайте указывать расширение файла .py. Например, “file.py”.

В Komodo Edit нажмите “Инструменты” –> “Запуск команды”, наберите python3 helloworld.py и нажмите “Выполнить”. Вы должны увидеть вывод, показанный на скриншоте ниже.

Screenshot of Komodo Edit with the Hello World program

Но всё-таки лучше редактировать программу в Komodo Edit, а запускать в терминале:

  1. Откройте терминал, как описано в главе Установка.
  2. Перейдите в каталог, в котором вы сохранили файл. Например, cd /tmp/py.
  3. Запустите программу, введя команду python3 helloworld.py.

Вывод программы показан ниже.

$ python3 helloworld.py
Привет, Мир!

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

Если вы получите сообщение об ошибке, введите вышеуказанную программу в точности так, как показано здесь, и запустите снова. Обратите внимание, что Python различает регистр букв, то есть print – это не то же самое, что Print (обратите внимание на букву p в нижнем регистре в первом случае и на букву P в верхнем регистре во втором). Также убедитесь, что перед первым символом в строке нет пробелов или символов табуляции – позже мы увидим, почему это важно.

Как это работает

Программа на Python состоит из выражений. В нашей первой программе имеется всего лишь одно выражение. В этом выражении мы вызываем функцию print, которая просто выводит текст 'Привет, Мир!'. О функциях мы узнаем в одной из последующих глав, а пока вам достаточно понять, что всё, что вы укажете в скобках, будет выведено на экран. В данном примере мы указали 'Привет, Мир!'.

Исполнимые программы на Python

Это касается только пользователей GNU/Linux и Unix, но пользователям Windows тоже будет полезно об этом знать.

Каждый раз, когда нам нужно запустить программу на Python, нам приходится в явном виде запускать python3 foo.py. Но почему бы нам не запускать её точно так же, как и все другие программы? Этого можно достичь при помощи так называемого hashbang.

Добавьте строку, указанную ниже, в самое начало вашей программы:

#!/usr/bin/env python3

Теперь ваша программа должна выглядеть так:

#!/usr/bin/env python3
print('Привет, Мир!')

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

Команда chmod здесь используется для изменения режима файла[3] добавлением атрибута исполнимости для всех пользователей в системе[4].

$ chmod a+x helloworld.py

После этого мы можем запускать программу напрямую, потому что наша операционная система запустит /usr/bin/env, который, в свою очередь, найдёт Python 3, а значит, сможет запустить наш файл.

$ ./helloworld.py
Привет, Мир!

Здесь “./” обозначает, что программа находится в текущем каталоге.

Ради интереса можете даже переименовать файл в просто “helloworld” и запустить его как ./helloworld, и это также сработает, поскольку система знает, что запускать программу нужно интерпретатором, положение которого указано в первой строке файла программы.

Но до сих пор мы могли выполнять свою программу только если знали полный путь к ней. А что, если нам нужно запускать эту программу из любого каталога? Это можно организовать, расположив свою программу в одном из каталогов, перечисленных в переменной окружения PATH.

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

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
$ cp helloworld.py /home/swaroop/bin/helloworld
$ helloworld
Привет, Мир!

Мы можем вывести на экран значение переменной PATH при помощи команды echo, добавив перед именем переменной символ $, чтобы указать оболочке, что мы хотим получить значение этой переменной. Мы видим, что /home/swaroop/bin – один из каталогов в переменной PATH, где swaroop – это имя пользователя, которое я использую в своей системе. В вашей системе, скорее всего, будет аналогичный каталог для вашего пользователя.

Вы также можете добавить какой-либо каталог к переменной PATH – это можно сделать, выполнив PATH=$PATH:/home/swaroop/mydir, где '/home/swaroop/mydir' – это каталог, который я хочу добавить к переменной PATH.

Этот метод полезен для написания сценариев, которые будут доступны для запуска в любой момент из любого места. По сути, это равносильно созданию собственных команд, как cd или любой другой, которые часто используются в терминале GNU/Linux или приглашении DOS.

Примечание

Когда речь идёт о Python, слова “программа” или “сценарий (скрипт)” обозначают одно и то же.

Получение помощи

Для быстрого получения информации о любой функции или операторе Python служит встроенная функция help. Это особенно удобно при использовании командной строки интерпретатора. К примеру, выполните help(print) – это покажет справку по функции print, которая используется для вывода на экран.

Примечание

Для выхода из справки нажмите q.

Аналогичным образом можно получить информацию почти о чём угодно в Python. При помощи функции help() можно даже получить описание самой функции help!

Если вас интересует информация об операторах, как например, return, их необходимо указывать в кавычках (например, help('return')), чтобы Python понял, чего мы хотим.

Резюме

Теперь вы умеете с лёгкостью писать, сохранять и запускать программы на Python.

И поскольку сейчас вы уже используете Python, давайте узнаем больше о его основных принципах.

Примечания

[1]“print” – англ. “Печатать” (прим. перев.)
[2]Автор восхитительной книги “Beginning Perl”
[3]change mode – англ. “изменить режим” (прим. перев.)
[4]В указанной команде буква “a” взята из слова “all” (англ. “все”), а буква “x” – из слова “execute” (англ. “исполнять”) – прим. перев.