2. Использование интерпретатора Python¶
2.1. Вызов интерпретатора¶
Интерпретатор Python обычно устанавливается как /usr/local/bin/python3.11
на тех компьютерах, где он доступен; ввод /usr/local/bin
в путь поиска вашей оболочки Unix позволяет запустить его, набрав команду:
python3.11
в командную строку. [1] Поскольку выбор каталога, в котором находится интерпретатор, является вариантом установки, возможны и другие места; проконсультируйтесь с местным гуру Python или системным администратором. (Например, /usr/local/python
является популярным альтернативным расположением).
На компьютерах с Windows, на которых вы установили Python с помощью Microsoft Store, будет доступна команда python3.11
. Если у вас установлен py.exe launcher, вы можете использовать команду py
. Смотрите Экскурс: Настройка переменных среды другие способы запуска Python.
Ввод символа конца файла (Control-D в Unix, Control-Z в Windows) в основном приглашении приводит к завершению работы интерпретатора с нулевым статусом завершения. Если это не сработает, вы можете выйти из интерпретатора, набрав следующую команду: quit()
.
Функции редактирования строк интерпретатора включают интерактивное редактирование, замену хронологии и завершение кода в системах, поддерживающих библиотеку GNU Readline. Возможно, самый быстрый способ проверить, поддерживается ли редактирование командной строки, - это ввести Control-P в первом появившемся приглашении Python. Если раздастся звуковой сигнал, вы приступаете к редактированию командной строки; ознакомление с клавишами смотрите в приложении Интерактивное редактирование входных данных и замена истории. Если ничего не происходит или отображается ^P
, редактирование в командной строке недоступно; вы сможете использовать только обратный пробел для удаления символов из текущей строки.
Интерпретатор работает в некотором роде как оболочка Unix: при вызове со стандартным вводом, подключенным к устройству tty, он считывает и выполняет команды в интерактивном режиме; при вызове с аргументом имени файла или с файлом в качестве стандартного ввода он считывает и выполняет скрипт из этого файла.
Вторым способом запуска интерпретатора является python -c command [arg] ...
, который выполняет инструкции в command, аналогично опции -c
в командной строке. Поскольку инструкции Python часто содержат пробелы или другие символы, характерные для командной строки, обычно рекомендуется заключать command в кавычки целиком.
Некоторые модули Python также полезны в качестве скриптов. Их можно вызвать с помощью команды python -m module [arg] ...
, которая запускает исходный файл для module так, как если бы вы указали его полное имя в командной строке.
Когда используется файл сценария, иногда полезно иметь возможность запустить сценарий и перейти в интерактивный режим после этого. Это можно сделать, передав -i
перед сценарием.
Все параметры командной строки описаны в Командная строка и окружающая среда.
2.1.1. Передача аргументов¶
Когда имя скрипта становится известным интерпретатору, оно и дополнительные аргументы преобразуются в список строк и присваиваются переменной argv
в модуле sys
. Вы можете получить доступ к этому списку, выполнив команду import sys
. Длина списка должна быть не менее единицы; если сценарий и аргументы не заданы, sys.argv[0]
является пустой строкой. Если имя скрипта задано как '-'
(что означает стандартный ввод), значение sys.argv[0]
равно '-'
. Когда используется команда -c
, значение ``sys.argv[0]`` устанавливается равным ``“-c“``. При использовании :option:`-m` *module значение sys.argv[0]
равно полному имени расположенного модуля. Параметры, найденные после -c
command или -m
module, не используются при обработке параметров интерпретатором Python, а оставляются в sys.argv
для обработки командой или модулем.
2.1.2. Интерактивный режим¶
Когда команды считываются из tty, считается, что интерпретатор находится в «интерактивном режиме». В этом режиме он запрашивает следующую команду с помощью основной подсказки, обычно с тремя знаками больше, чем нужно (>>>
); для продолжения строк он запрашивает с помощью дополнительной подсказки, по умолчанию с тремя точками (...
). Интерпретатор печатает приветственное сообщение с указанием номера своей версии и уведомления об авторских правах перед печатью первого приглашения:
$ python3.11
Python 3.11 (default, April 4 2021, 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 -*-
где кодировка является одной из допустимых codecs
, поддерживаемых Python.
Например, чтобы объявить, что будет использоваться кодировка Windows-1252, в первой строке вашего файла исходного кода должно быть:
# -*- coding: cp1252 -*-
Единственное исключение из правила «первая строка» - это когда исходный код начинается с UNIX «shebang» line. В этом случае объявление кодировки должно быть добавлено во вторую строку файла. Например:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
Сноски