Spec-Zone.ru › Python 3.8

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

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

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

python3.8

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

На компьютерах с Windows, где вы установили Python из Магазина Microsoft, команда python3.8 будет доступна. Если у вас установлен запускающий модуль 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.8
Python 3.8 (default, Sep 16 2015, 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 -*-

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

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

Примечания

1

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

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

Spec-Zone.ru

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