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

2.1. Вызов переводчика

Интерпретатор Python обычно устанавливается под именем /usr/local/bin/python3.14 на тех машинах, где он доступен; поместив /usr/local/bin в путь поиска вашей оболочки Unix, вы сможете запустить его, набрав эту команду:

python3.14

в оболочку. [1] Поскольку выбор директории, в которой находится интерпретатор, является опцией установки, возможны и другие места; посоветуйтесь с местным гуру Python или системным администратором. (Например, /usr/local/python - популярное альтернативное местоположение).

На машинах Windows, где установлен Python из Microsoft Store, будет доступна команда python3.14. Если у вас установлен py.exe launcher, вы можете использовать команду py. Другие способы запуска Python описаны в разделе Экскурс: Установка переменных окружения.

Ввод символа конца файла (Control-D в Unix, Control-Z в Windows) в первичном приглашении приводит к выходу интерпретатора с нулевым статусом выхода. Если это не помогло, можно выйти из интерпретатора, набрав следующую команду: quit().

Возможности интерпретатора по редактированию строки включают интерактивное редактирование, подстановку истории и завершение кода на системах, поддерживающих библиотеку GNU Readline. Возможно, самой быстрой проверкой того, поддерживается ли редактирование командной строки, является ввод Control-P в первом появившемся приглашении Python. Если он подаст звуковой сигнал, значит, у вас есть возможность редактирования командной строки; знакомство с клавишами см. в приложении Интерактивное редактирование ввода и замена истории. Если ничего не происходит, или если ^P выдается эхо, значит, редактирование командной строки недоступно; вы сможете использовать только backspace для удаления символов из текущей строки.

Интерпретатор работает примерно так же, как Unix shell: при вызове со стандартного ввода, подключенного к устройству tty, он читает и выполняет команды в интерактивном режиме; при вызове с аргументом имени файла или с файлом в качестве стандартного ввода он читает и выполняет скрипт из этого файла.

Второй способ запуска интерпретатора - python -c command [arg] ..., который выполняет оператор(ы) в команде, аналогично опции -c в оболочке. Поскольку операторы Python часто содержат пробелы или другие символы, которые являются специальными для оболочки, обычно рекомендуется цитировать команду целиком.

Некоторые модули Python также полезны в качестве скриптов. Их можно вызвать с помощью команды python -m module [arg] ..., которая выполняет исходный файл модуля, как если бы вы ввели его полное имя в командной строке.

Когда используется файл сценария, иногда полезно иметь возможность запустить сценарий и после этого перейти в интерактивный режим. Это можно сделать, передав -i перед скриптом.

Все параметры командной строки описаны в Командная строка и окружение.

2.1.1. Передача аргументов

Когда имя скрипта и дополнительные аргументы становятся известны интерпретатору, они превращаются в список строк и присваиваются переменной argv в модуле sys. Получить доступ к этому списку можно, выполнив команду import sys. Длина списка должна быть не меньше единицы; если скрипт и аргументы не заданы, sys.argv[0] - пустая строка. Если имя скрипта задано как '-' (имеется в виду стандартный ввод), sys.argv[0] устанавливается в '-'. Когда используется -c команда, sys.argv[0] принимает значение '-c'. Когда используется -m модуль, sys.argv[0] устанавливается в полное имя расположенного модуля. Опции, найденные после -c команда или -m модуль, не обрабатываются интерпретатором Python, а оставляются в sys.argv для обработки командой или модулем.

2.1.2. Интерактивный режим

Когда команды считываются с tty, считается, что интерпретатор находится в интерактивном режиме. В этом режиме он запрашивает следующую команду с помощью первичной подсказки, обычно это три знака «больше-чем» (>>>); для строк продолжения он запрашивает вторичную подсказку, по умолчанию три точки (...). Перед выводом первой подсказки интерпретатор печатает приветственное сообщение с номером версии и уведомлением об авторских правах:

$ python3.14
Python 3.14 (default, April 4 2024, 09:25:04)
[GCC 10.2.0] 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. В этой кодировке символы большинства языков мира могут одновременно использоваться в строковых литералах, идентификаторах и комментариях - хотя стандартная библиотека использует для идентификаторов только символы ASCII, и это соглашение, которому должен следовать любой переносимый код. Чтобы правильно отобразить все эти символы, ваш редактор должен распознать, что файл имеет формат UTF-8, и использовать шрифт, поддерживающий все символы в файле.

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

# -*- coding: encoding -*-

где encoding - один из допустимых codecs, поддерживаемых Python.

Например, чтобы объявить, что будет использоваться кодировка Windows-1252, в первой строке вашего файла исходного кода должно быть:

# -*- coding: cp1252 -*-

Исключением из правила первой строки является случай, когда исходный код начинается с UNIX «shebang» line. В этом случае объявление кодировки должно быть добавлено во вторую строку файла. Например:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-

Сноски