Вызов интерпретатора
Интерпретатор Python обычно устанавливается по адресу /usr/local/bin/python3.6
на тех машинах, где это возможно; размещение в /usr/local/bin делает возможным поиску пути вашей командной оболочки Unix запустить его, набрав команду:
python3.6
в оболочке. [1] Поскольку выбор каталога, в котором находится интерпретатор, определяется установкой, то возможны другие места; свяжитесь с вашим местным гуру Python или системным администратором. (Например, /usr/local/python
распространенное альтернативное место.)
Как правило, на компьютерах с Windows установка Python производится в C:\Python36
, хотя вы можете изменить это в процессе установки. Чтобы добавить эту директорию к вашему пути, вы можете ввести следующую команду в командной строке DOS:
set path=%path%;C:\python36
Ввод символа конца файла (Control-D
на Unix, Control-Z
на Windows) в строке приглашения заставляет интерпретатор выйти со статусом нулевого выхода. Если это не работает, вы можете выйти из интерпретатора, введя следующую команду: quit()
.
Особенности строки ввода интерпретатора включают интерактивное редактирование, подстановка истории и завершение кода на системах, которые поддерживают readline (библиотеку, осуществляющую совместное с оболочкой автозавершение — прим. пер.). Вероятно самый быстрый способ увидеть, поддерживается ли редактирование командной строки, это ввести Control-P
в первой строке приглашения Python, полученной вами. Если есть звуковой сигнал, то у вас редактируемая командная строка; см. дополнение Редактирование интерактивного ввода и подстановка истории для знакомства с ключами. Если ничего не происходит или если ^P повторяется, то редактирование командной строки недоступно; вы сможете только использовать Backspace для удаления символов из текущей строки.
В некоторой степени интерпретатор работает как оболочка Unix: при вызове со стандартного ввода, подключенного к устройству tty, он читает и выполняет команды интерактивно; при вызове с именем файла в качестве аргумента или с файлом в качестве стандартного ввода, он читает и выполняет скрипт из этого файла.
Второй способ запуска интерпретатора: python -c command [arg] ...
, который выполняет оператор(ы) в command, аналогично опции -c (docs.python.org/3/using/cmdline.html#cmdoption-c) командной оболочки. Поскольку выражения Python часто содержат пробелы или другие символы, которые имеют специальное значение для оболочки, то обычно рекомендуется цитировать command целиком в одинарных кавычках.
Некоторые модули Python также полезны как скрипты. Они могут быть вызваны с помощью python -m module [arg] ...
, который выполняет код файла module
, как если бы вы написали его полное имя в командной строке.
При использовании файла скрипта, иногда полезно иметь возможность запустить скрипт и потом войти в интерактивный режим. Это может быть сделано путем передачи -i (docs.python.org/3/using/cmdline.html#cmdoption-i) перед скриптом.
Все опции командной строки описаны в Command line and environment (docs.python.org/3/using/cmdline.html#using-on-general).
2.1.1. Передача аргумента
Как известно для интерпретатора имя скрипта и дополнительные аргументы впоследствии превращаются в список строк и присваиваются переменной argv
модуля sys
. Вы можете обращаться к этому списку, выполняя import sys
. Длина списка по крайней мере равна одному; когда не передано ни одного скрипта и аргумента, то sys.argv[0]
является пустой строкой. Когда имя скрипта передается как '-'
(означает стандартный ввод), sys.argv[0]
устанавливается в '-'
. При использовании -c (docs.python.org/3/using/cmdline.html#cmdoption-c) command, sys.argv[0]
устанавливается в '-c'
. При использовании -m (docs.python.org/3/using/cmdline.html#cmdoption-m) module, sys.argv[0]
устанавливается к полному имени местонахождения модуля. Опции, обнаруженные после -c (docs.python.org/3/using/cmdline.html#cmdoption-c) command или -m (docs.python.org/3/using/cmdline.html#cmdoption-m) module не потребляются обработчиком опций интерпретатора Python, а оставляются в sys.argv
для обработки командой или модулем.
2.1.2. Интерактивный режим
Когда команды считываются из tty (терминала — прим. пер.), интерпретатору говорится быть в interactive mode (интерактивном режиме — прим. пер.). В этом режиме он предлагает ввести следующую команды с primary promp (первичного приглашения — прим. пер.), обычно три знака «больше, чем» (>>>
); для продолжения строк он подсказывает с secondary prompt (вторичного приглашения — прим. пер.), по умолчанию три точки (...
). Интерпретатор выводит приветственное сообщение, начинающееся с его номера версии и уведомления об авторских правах, перед выводом первого приглашения:
$ python3.6
Python 3.6 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Продолжение строк необходимо при вводе многострочной конструкции. В качестве примера посмотрите на это выражение if (docs.python.org/3/reference/compound_stmts.html#if):
>>> the_world_is_flat = True
>>> if the_world_is_flat:
... print("Be careful not to fall off!")
...
Be careful not to fall off!
Чтобы узнать больше об интерактивном режиме, смотрите Интерактивный режим.
2.2. Интерпретатор и его окружение
2.2.1. Кодировка исходного кода
По умолчанию исходные файлы Python рассматриваются как кодированные в UTF-8. В этой кодировке символы большинства языков мира могут быть использованы одновременно в строковых литералах, идентификаторах и комментариях — хотя стандартная библиотека использует только символы ASCII для идентификаторов, это соглашение, которому должен следовать любой переносимый код. Чтобы отобразить все эти символы должным образом, ваш редактор должен распознавать, что файл в кодировке UTF-8, и он должен использовать шрифт, который поддерживает все символы в файле.
Чтобы объявить кодировку отличную от той, что используется по-умолчанию, первой строкой файла должна быть добавлена специальная строка комментария. Синтаксис такой как следующий:
# -*- coding: encoding -*-
где encoding одна из действующих codecs (docs.python.org/3/library/codecs.html#module-codecs), поддерживаемых Python.
Например, чтобы объявить, что используется кодировка Windows-1252, первая строка в вашем файле исходного кода должна быть:
# -*- coding: cp-1252 -*-
Есть одно исключение из правила первой строки: когда исходный код начинается с UNIX «shebang» line. В этом случае объявление кодировки должно быть добавлено второй строкой файла. Например:
#!/usr/bin/env python3
# -*- coding: cp-1252 -*-
Примечания
В Unix интерпретатор Python 3.x не устанавливается по-умолчанию с исполняемым именем python
, так что нет конфликта с одновременно установленным Python 2.x.