2. Использование интерпретатора Python¶
2.1. Вызов переводчика¶
Интерпретатор Python обычно устанавливается как /usr/local/bin/python3.10
на тех машинах, где он доступен; поместив /usr/local/bin
в путь поиска вашей оболочки Unix, вы сможете запустить его, набрав команду:
python3.10
в оболочку. 1 Поскольку выбор каталога, в котором живет интерпретатор, является опцией установки, возможны и другие места; уточните это у местного гуру Python или системного администратора. (Например, /usr/local/python
является популярным альтернативным расположением).
На машинах Windows, где установлен Python с Microsoft Store, будет доступна команда python3.10
. Если у вас установлен py.exe launcher, вы можете использовать команду py
. Другие способы запуска Python смотрите в Экскурс: Установка переменных среды.
Ввод символа конца файла (Control-D в Unix, Control-Z в Windows) в первичной подсказке вызывает выход интерпретатора с нулевым статусом выхода. Если это не сработало, вы можете выйти из интерпретатора, набрав следующую команду: quit()
.
Функции редактирования командной строки интерпретатора включают интерактивное редактирование, подстановку истории и завершение кода на системах, поддерживающих библиотеку GNU Readline. Возможно, самой быстрой проверкой того, поддерживается ли редактирование командной строки, является ввод Control-P в первом появившемся приглашении Python. Если он подаст звуковой сигнал, значит, редактирование командной строки поддерживается; знакомство с клавишами см. в Приложении Интерактивное редактирование ввода и подстановка истории. Если ничего не происходит, или если эхо выдает ^P
, редактирование командной строки недоступно; вы сможете использовать backspace только для удаления символов из текущей строки.
Интерпретатор работает в некотором роде как оболочка Unix: при вызове со стандартным вводом, подключенным к устройству tty, он читает и выполняет команды в интерактивном режиме; при вызове с аргументом имени файла или с файлом в качестве стандартного ввода, он читает и выполняет скрипт из этого файла.
Второй способ запуска интерпретатора - python -c command [arg] ...
, который выполняет оператор(ы) в команде, аналогично опции -c
в shell. Поскольку утверждения 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.10
Python 3.10 (default, June 4 2019, 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. В этой кодировке символы большинства языков мира могут одновременно использоваться в строковых литералах, идентификаторах и комментариях - хотя стандартная библиотека использует только символы ASCII для идентификаторов, и это соглашение, которому должен следовать любой переносимый код. Чтобы правильно отобразить все эти символы, ваш редактор должен распознать, что файл имеет формат UTF-8, и использовать шрифт, поддерживающий все символы в файле.
Чтобы объявить кодировку, отличную от кодировки по умолчанию, необходимо добавить специальную строку комментария в качестве первой строки файла. Синтаксис выглядит следующим образом:
# -*- coding: encoding -*-
где encoding - один из допустимых codecs
, поддерживаемых Python.
Например, чтобы объявить, что будет использоваться кодировка Windows-1252, первая строка вашего файла исходного кода должна быть такой:
# -*- coding: cp1252 -*-
Исключением из правила первой строки является случай, когда исходный код начинается с символа UNIX «shebang» line. В этом случае объявление кодировки должно быть добавлено во вторую строку файла. Например:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
Сноски
- 1
На Unix интерпретатор Python 3.x по умолчанию не устанавливается вместе с исполняемым файлом с именем
python
, чтобы он не конфликтовал с одновременно установленным исполняемым файлом Python 2.x.