Содержание страницы
2. Использование интерпретатора Python¶Using the Python Interpreter
2.1. Запуск интерпретатора¶Invoking the Interpreter
Интерпретатор Python обычно устанавливается как /usr/local/bin/python3.5
на тех машинах, где он доступен; если добавить /usr/local/bin в путь поиска
оболочки Unix, его можно запустить командой:
python3.5
в оболочку. [1] Поскольку выбор каталога, в котором находится интерпретатор,
является опцией установки, возможны и другие расположения; уточните у местного
гуру Python или системного администратора. (Например, /usr/local/python –
популярное альтернативное расположение.)
На компьютерах с Windows установка Python обычно производится в
C:\Python35, хотя можно изменить это при запуске установщика. Чтобы добавить этот каталог в путь, можно ввести следующую команду в командной строке в окне DOS:
set path=%path%;C:\python35
Ввод символа конца файла (Control-D в Unix, Control-Z в Windows) на основном приглашении вызывает завершение интерпретатора с нулевым статусом выхода. Если это не работает, можно выйти из интерпретатора, набрав следующую команду: quit().
Возможности редактирования командной строки интерпретатора включают интерактивное редактирование, подстановку истории и автодополнение кода в системах, поддерживающих readline. Возможно, самый быстрый способ проверить, поддерживается ли редактирование командной строки, – ввести
Control-P в первом появившемся приглашении Python. Если раздастся звуковой сигнал, редактирование командной строки доступно; см. приложение Интерактивное редактирование ввода и подстановка истории для ознакомления с клавишами. Если ничего не происходит или если выводится ^P, редактирование командной строки недоступно; останется только использовать backspace для удаления символов из текущей строки.
Интерпретатор работает примерно как оболочка Unix: при вызове со стандартным вводом, подключенным к tty-устройству, он читает и выполняет команды в интерактивном режиме; при вызове с аргументом – именем файла или с файлом в качестве стандартного ввода, он читает и выполняет скрипт из этого файла.
Второй способ запуска интерпретатора – python -c command [arg] ...,
который выполняет инструкции в команде, аналогично опции -c оболочки. Поскольку инструкции Python часто содержат пробелы или другие символы, имеющие специальное значение для оболочки, обычно рекомендуется заключать команду целиком в одинарные кавычки.
Некоторые модули Python также полезны в качестве скриптов. Их можно вызвать с помощью python -m module [arg] ..., который выполняет исходный файл для module так, как если бы его полное имя было введено в командной строке.
При использовании файла скрипта иногда бывает полезно запустить скрипт и после этого войти в интерактивный режим. Это можно сделать, передав -i перед именем скрипта.
Все параметры командной строки описаны в Командная строка и окружение.
2.1.1. Передача аргументов¶Argument Passing
Когда интерпретатору известно имя скрипта, оно и последующие дополнительные аргументы преобразуются в список строк и присваиваются переменной argv модуля sys. Доступ к этому списку можно получить, выполнив import
sys. Длина списка – не менее одного; если не заданы ни скрипт, ни аргументы, sys.argv[0] является пустой строкой. Когда имя скрипта указано как '-' (означает стандартный ввод), sys.argv[0] устанавливается в '-'. При использовании -c command, sys.argv[0] устанавливается в '-c'. При использовании -m module, sys.argv[0] устанавливается в полное имя найденного модуля. Параметры, указанные после -c command или -m module, не обрабатываются интерпретатором Python при разборе параметров, а остаются в sys.argv для обработки командой или модулем.
2.1.2. Интерактивный режим¶Interactive Mode
Когда команды читаются с tty, говорят, что интерпретатор находится в интерактивном режиме. В этом режиме он выводит приглашение для следующей команды с помощью основного приглашения, обычно три знака «больше» (>>>); для строк продолжения он выводит вторичное приглашение, по умолчанию три точки (...). Перед первым приглашением интерпретатор выводит приветственное сообщение с номером версии и уведомлением об авторских правах:
$ python3.5
Python 3.5 (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. Интерпретатор и его окружение¶The Interpreter and Its Environment
2.2.1. Кодировка исходного кода¶Source Code Encoding
По умолчанию исходные файлы Python считаются закодированными в UTF-8. В этой кодировке символы большинства языков мира можно одновременно использовать в строковых литералах, идентификаторах и комментариях – хотя стандартная библиотека использует только символы 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. |