Spec-Zone.ru › Python 3.10

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

2.1. Вызов интерпретатора

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

python3.10

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

На машинах с Windows, где вы установили Python из Магазина Microsoft, будет доступна команда 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] ..., который выполняет операторы в команде, аналогично опции оболочки -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.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 -*-

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

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

# -*- coding: cp1252 -*-

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

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

Примечания

1

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

© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/tutorial/interpreter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API