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 Unix-шелла). В связи с тем, что инструкции Python часто содержат
пробелы или другие специальные для шелла символы, рекомендуется
заключать command полностью в одинарные кавычки.
Некоторые модули Python оказываются полезными при использовании их в
качестве сценариев. Они могут быть запущены в этом виде командой python -m module [arg] ...
, — таким образом исполняется исходный файл модуля module (как произошло бы, если бы вы ввели его полное имя в командной строке).
При использовании файла сценария иногда полезно иметь возможность запустить сценарий и затем войти в интерактивный режим. Это может быть сделано через указание параметра -i перед именем сценария.
Все опции командной строки описаны в Командная строка и окружение.
2.1.1. Передача аргументов¶
В случае, если интерпретатору известны имя сценария и дополнительные
параметры, с которыми он вызван, все они передаются сценарию в
переменной argv
модуля sys
, представляющей собой список строк. Вы можете получить доступ к этому списку, выполнив import sys
. Длина (length) списка — минимум, единица; если не переданы ни имя сценария, ни аргументы — то sys.argv[0]
содержит пустую строку. Когда в качестве имени сценария передан '-'
(означает стандартный ввод), sys.argv[0]
устанавливается в '-'
. Если используется директива -c command — sys.argv[0]
устанавливается как ‘-c’
. В случае, если используется директива -m module — то sys.argv[0]
устанавливается равным полному имени модуля по расположению. Опции, обнаруженные после сочетаний -c command или -m не обрабатываются интерпретатором Python, но остаются в переменной sys.argv
, дабы обеспечить возможность отслеживания в самой команде или в модуле.
2.1.2. Интерактивный Режим¶
Если команды считываются с tty — говорят, что интерпретатор находится в интерактивном режиме (режиме диалога). В этом режиме он приглашает к вводу следующей команды, отобразив основное приглашение (обычно это три знака «больше-чем» — >>>
); в то же время, для продолжающих строк выводится вспомогательное приглашение (по умолчанию — три точки — ...
). Перед выводом первого приглашения интерпретатор отображает приветственное сообщение, содержащее номер его версии и пометку о правах копирования:
$ 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:
>>> 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. В этой кодировке в строковых литералах, идентификаторах и комментариях могут быть использованы символы большинства языков мира — хотя что стандартная библиотека Python использует только символы ASCII для именования идентификаторов — и этому соглашению должен следовать любой переносимый код. Для корректного отображения всех этих символов, ваш редактор должен опознавать файл как закодированный в UTF-8 и должен использовать шрифт, который содержит все символы, используемые в файле.
Также можно указать другую кодировку исходных файлов. Для этого нужно добавить специальный комментарий следом за строкой #!
, дабы описать кодировку исходного файла:
# -*- coding: encoding -*-
Если используется это описание — всё, что находится в этом файле будет опознаваться как имеющее соответствующую кодировку encoding вместо кодировки UTF-8. Список возможных кодировок может быть найден в Python Library Reference, в разделе про codecs.
Например, если ваш текстовый редактор не поддерживает кодировку файлов UTF-8 и настаивает на какой-либо другой кодировке, скажем, Windows-1252, можно написать:
# -*- coding: cp-1252 -*-
и продолжать использовать все знаки из набора Windows-1252 в исходных файлах. Устанавливающий (отличную от установленной по умолчанию) кодировку специальный комментарий должен являться первой или второй строкой файла.
Сноски
[1] | В Unix интерпретатор Python 3.x по умолчанию не установлен с исполняемым файлом с именем python , так что он не конфликтует с одновременно установленным Python 2.x исполняемым файлом. |