Содержание страницы
2. Использование интерпретатора Python¶Using the Python Interpreter
2.1. Запуск интерпретатора¶Invoking the Interpreter
Интерпретатор Python обычно устанавливается как /usr/local/bin/python3.8
на тех машинах, где он доступен; если добавить /usr/local/bin в путь поиска
оболочки Unix, его можно запустить командой:
python3.8
в оболочку. 1 Поскольку выбор каталога, в котором находится интерпретатор,
является опцией установки, возможны и другие расположения; уточните у местного
гуру Python или системного администратора. (Например, /usr/local/python –
популярное альтернативное расположение.)
На компьютерах с Windows, где Python установлен из Microsoft Store, будет доступна команда 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] ..., который выполняет исходный файл для module так, как если бы его полное имя было введено в командной строке.
При использовании файла скрипта иногда бывает полезно запустить скрипт и после этого войти в интерактивный режим. Это можно сделать, передав -i перед именем скрипта.
Все параметры командной строки описаны в Командная строка и окружение.
2.1.1. Передача аргументов¶Argument Passing
Когда интерпретатору известно имя скрипта, оно и последующие дополнительные аргументы преобразуются в список строк и присваиваются переменной argv модуля sys. Доступ к этому списку можно получить, выполнив import
sys. Длина списка – не менее одного; если не заданы ни скрипт, ни аргументы, sys.argv[0] является пустой строкой. Когда имя скрипта указано как '-' (означает стандартный ввод), sys.argv[0] устанавливается в '-'. При использовании -c command, sys.argv[0] устанавливается в '-c'. При использовании -m module, sys.argv[0] устанавливается в полное имя найденного модуля. Параметры, указанные после -c command или -m module, не обрабатываются интерпретатором Python при разборе параметров, а остаются в sys.argv для обработки командой или модулем.
2.1.2. Интерактивный режим¶Interactive Mode
Когда команды читаются с 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. Интерпретатор и его окружение¶The Interpreter and Its Environment
2.2.1. Кодировка исходного кода¶Source Code Encoding
По умолчанию исходные файлы 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.