Документация Python неофициальный перевод
Содержание страницы

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

2.1. Запуск интерпретатораInvoking the Interpreter

Интерпретатор 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, можно использовать команду py. Другие способы запуска Python описаны в разделе Отступление: настройка переменных среды.

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

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

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

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

Некоторые модули 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.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. Интерпретатор и его окружениеThe Interpreter and Its Environment

2.2.1. Кодировка исходного кодаSource Code Encoding

По умолчанию исходные файлы Python считаются закодированными в UTF-8. В этой кодировке символы большинства языков мира можно одновременно использовать в строковых литералах, идентификаторах и комментариях – хотя стандартная библиотека использует только символы ASCII для идентификаторов, это соглашение, которому должен следовать любой переносимый код. Чтобы правильно отображать все эти символы, редактор должен распознавать, что файл в UTF-8, и использовать шрифт, поддерживающий все символы файла.

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

# -*- coding: encoding -*-

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

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

# -*- coding: cp1252 -*-

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

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

Сноски

1

В Unix интерпретатор Python 3.x по умолчанию не устанавливается с исполняемым файлом с именем python, чтобы не возникало конфликта с параллельно установленным исполняемым файлом Python 2.x.