2. Использование интерпретатора Python¶
2.1. Запуск интерпретатора¶
The Python interpreter is usually installed as /usr/local/bin/python3.12
on those machines where it is available; putting /usr/local/bin in your
Unix shell’s search path makes it possible to start it by typing the command:
python3.12
в командную оболочку. [1] Поскольку выбор каталога, где находится интерпретатор, является опциональным, возможны и другие места; уточните у своего местного гуру по Python или системного администратора. (Например, /usr/local/python - популярное альтернативное место.)
On Windows machines where you have installed Python from the Microsoft Store, the python3.12 command will be available. If you have
the py.exe launcher installed, you can use the py
command. See Excursus: Setting environment variables for other ways to launch Python.
Ввод символа конца файла (Control-D в Unix, Control-Z в Windows) в основном запросе заставляет интерпретатор завершиться с нулевым кодом завершения. Если это не работает, вы можете выйти из интерпретатора, набрав следующую команду: quit().
The interpreter’s line-editing features include interactive editing, history
substitution and code completion on systems that support the GNU Readline library.
Perhaps the quickest check to see whether command line editing is supported is
typing Control-P to the first Python prompt you get. If it beeps, you
have command line editing; see Appendix Интерактивное редактирование ввода и подстановка истории for an
introduction to the keys. If nothing appears to happen, or if ^P is
echoed, command line editing isn’t available; you’ll only be able to use
backspace to remove characters from the current line.
Интерпретатор работает примерно так же, как оболочка Unix: при вызове со стандартным вводом, подключенным к tty-устройству, он считывает и выполняет команды в интерактивном режиме; при вызове с аргументом имени файла или с файлом в качестве стандартного ввода она читает и выполняет скрипт из этого файла.
Вторым способом запуска интерпретатора является python -c command [arg] ..., которая выполняет инструкции в command, аналогично опции командной оболочки -c. Поскольку инструкции Python часто содержат пробелы или другие символы, характерные для командной строки, обычно рекомендуется заключать command в кавычки целиком.
Некоторые модули Python также полезны в качестве скриптов. Их можно вызвать с помощью python -m module [arg] ..., который запускает исходный файл для module так, как если бы вы указали его полное название в командной строке.
Когда используется файл скрипта, иногда полезно иметь возможность запустить скрипт и перейти в интерактивный режим после этого. Это можно сделать, передав -i перед скриптом.
Все параметры командной строки описаны в Command line and environment.
2.1.1. Передача аргументов¶
Если интерпретатору известно имя скрипта, оно вместе со следующими за ним дополнительными аргументами преобразуется в список строк и присваивается переменной 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. Интерактивный режим¶
Когда команды считываются из 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» line. В этом случае объявление кодировки должно быть добавлено во вторую строку файла. Например:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
Примечания