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 Store, будет доступна команда 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. В этом случае объявление кодировки следует добавить второй строкой файла. Например:

#!/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