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


2.1. Запуск интерпретатора
==========================

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

   python3.16

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

На компьютерах с Windows, на которых вы установили Python из Microsoft
Store, "python3.16" команда будет доступна. Если у вас установлена
программа запуска py.exe, вы можете использовать команду "py". См.
Python install manager, чтобы узнать о других способах запуска Python.

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

Возможности построчного редактирования интерпретатора включают
интерактивное редактирование, подстановку из истории команд и
автодополнение кода на большинстве систем. Возможно, самый быстрый
способ проверить, поддерживается ли редактирование командной строки, —
ввести слово в приглашении Python и нажать стрелку влево (или
"Control"-"b"). Если курсор перемещается, значит редактирование
командной строки доступно; см. Приложение Интерактивное редактирование
ввода и подстановка истории, где приводится введение в используемые
сочетания клавиш. Если же ничего не происходит или отображается
последовательность вроде "^[[D" или "^B", значит редактирование
командной строки недоступно; в этом случае вы сможете использовать
только клавишу backspace для удаления символов в текущей строке.

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

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

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

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

Все параметры командной строки описаны в Command line and environment.


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

Если интерпретатору известно имя скрипта, оно вместе со следующими за
ним дополнительными аргументами преобразуется в список строк и
присваивается переменной "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. Интерактивный режим
--------------------------

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

   $ python3.16
   Python 3.16 (default, May 7 2026, 19:03: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 -*-

-[ Примечания ]-

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