Spec-Zone.ru › Python 3.12

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

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

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

python3.12

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

На машинах с Windows, где вы установили Python из Магазина Microsoft, команда python3.12 будет доступна. Если у вас установлен запускающий модуль 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.12
Python 3.12 (default, April 4 2022, 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 -*-

где 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–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/tutorial/interpreter.html

Spec-Zone.ru

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