2. Использование интерпретатора Python

2.1. Вызов интерпретатора

Интерпретатор 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 -*-

Примечания

[1] В Unix интерпретатор Python 3.x не устанавливается по-умолчанию с исполняемым именем python, так что нет конфликта с одновременно установленным Python 2.x.

Создано

Обновлено

Комментарии

Ответа на вопрос как установить кодировку интерпретатора нет... Автор видимо сам не в курсе! Зачем он тогда пытается выдать себя за знатока? Тот способ хорошо известен и никому не интересен. Потому что он задаёт кодировку python-овского скрипта. Причём тут интерпретатор непонятно... Если вы попытаетесь установить так в интерпретаторе ничего не выйдет... В параметрах командной строки этого нет.
Вопрос остался без ответа! Итак как же всё таки установить кодировку в интерпретаторе? Непонятно... Только не спрашивайте зачем нужен именно интерпретатор а не скрипт. Нужен, поверьте...