Документация Python неофициальный перевод

interpreter.md

93 строк · 11.4 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.4/tutorial/interpreter.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 2. Использование интерпретатора Python89## 2.1. Запуск интерпретатора1011Интерпретатор Python обычно устанавливается в `/usr/local/bin/python3.4` на тех машинах, где он доступен; если добавить `/usr/local/bin` в путь поиска вашей оболочки Unix, его можно будет запустить, введя команду:1213```text14python3.415```1617в командную строку оболочки. [\[1\]](https://python-all.ru/3.4/tutorial/interpreter.html#id2) Поскольку выбор каталога, в котором находится интерпретатор, является опцией установки, возможны и другие расположения; уточните у вашего местного гуру Python или системного администратора. (Например, `/usr/local/python` – популярная альтернатива.)1819На компьютерах с Windows установка Python обычно выполняется в каталог `C:\Python34`, хотя вы можете изменить его при запуске установщика. Чтобы добавить этот каталог в путь, можно ввести следующую команду в командной строке (в окне DOS):2021```python22set path=%path%;C:\python3423```2425Ввод символа конца файла (`Control-D` в Unix, `Control-Z` в Windows) в главном приглашении вызывает завершение работы интерпретатора с нулевым кодом возврата. Если это не сработает, можно выйти из интерпретатора, введя следующую команду: `quit()`.2627Возможности редактирования командной строки интерпретатора включают интерактивное редактирование, подстановку истории и автодополнение кода в системах, поддерживающих readline. Возможно, самый быстрый способ проверить, поддерживается ли редактирование командной строки – набрать `Control-P` в первом приглашении Python. Если последует звуковой сигнал, редактирование командной строки включено; обратитесь к приложению [*Interactive Input Editing and History Substitution*](https://python-all.ru/3.4/tutorial/interactive.html#tut-interacting) за описанием клавиш. Если ничего не происходит или выводится `^P`, редактирование командной строки недоступно; вы сможете удалять символы только с помощью backspace.2829Интерпретатор работает примерно как оболочка Unix: при вызове со стандартным вводом, подключенным к tty-устройству, он читает и выполняет команды в интерактивном режиме; при вызове с аргументом – именем файла или с файлом в качестве стандартного ввода, он читает и выполняет *скрипт* из этого файла.3031Второй способ запуска интерпретатора – `python -c command [arg] ...`, который выполняет инструкцию(и) из *command*, аналогично опции [*-c*](https://python-all.ru/3.4/using/cmdline.html#cmdoption-c) командной оболочки. Поскольку инструкции Python часто содержат пробелы и другие символы, значимые для оболочки, обычно рекомендуется заключать *command* целиком в одинарные кавычки.3233Некоторые модули Python также полезны как скрипты. Их можно запускать с помощью `python -m module [arg] ...`, что выполняет исходный файл для *module*, как если бы его полное имя было введено в командной строке.3435При использовании файла скрипта иногда бывает полезно запустить скрипт и затем войти в интерактивный режим. Это можно сделать, передав [*-i*](https://python-all.ru/3.4/using/cmdline.html#cmdoption-i) перед скриптом.3637Все параметры командной строки описаны в [*Командная строка и окружение*](https://python-all.ru/3.4/using/cmdline.html#using-on-general).3839### 2.1.1. Передача аргументов4041Когда интерпретатору известны имя скрипта и последующие аргументы, они превращаются в список строк и назначаются переменной `argv` в модуле `sys`. Получить доступ к этому списку можно, выполнив `import sys`. Длина списка – не менее одного элемента; если не указаны ни скрипт, ни аргументы, `sys.argv[0]` является пустой строкой. Если имя скрипта задано как `'-'` (что означает стандартный ввод), `sys.argv[0]` устанавливается в `'-'`. При использовании [*-c*](https://python-all.ru/3.4/using/cmdline.html#cmdoption-c) *command* `sys.argv[0]` устанавливается в `'-c'`. При использовании [*-m*](https://python-all.ru/3.4/using/cmdline.html#cmdoption-m) *module* `sys.argv[0]` устанавливается в полное имя найденного модуля. Параметры, указанные после [*-c*](https://python-all.ru/3.4/using/cmdline.html#cmdoption-c) *command* или [*-m*](https://python-all.ru/3.4/using/cmdline.html#cmdoption-m) *module*, не обрабатываются интерпретатором Python, а остаются в `sys.argv` для обработки командой или модулем.4243### 2.1.2. Интерактивный режим4445Когда команды читаются с tty, говорят, что интерпретатор находится в *интерактивном режиме*. В этом режиме он выводит приглашение для следующей команды с помощью *основного приглашения*, обычно три знака «больше» (`>>>`); для строк продолжения он выводит *вторичное приглашение*, по умолчанию три точки (`...`). Перед первым приглашением интерпретатор выводит приветственное сообщение с номером версии и уведомлением об авторских правах:4647```python48$ python3.449Python 3.4 (default, Mar 16 2014, 09:25:04)50[GCC 4.8.2] on linux51Type "help", "copyright", "credits" or "license" for more information.52>>>53```5455Строки продолжения требуются при вводе многострочных конструкций. В качестве примера рассмотрим инструкцию [`if`](https://python-all.ru/3.4/reference/compound_stmts.html#if):5657```python58>>> the_world_is_flat = True59>>> if the_world_is_flat:60...     print("Be careful not to fall off!")61...62Be careful not to fall off!63```6465Подробнее об интерактивном режиме см. в [*Интерактивный режим*](https://python-all.ru/3.4/tutorial/appendix.html#tut-interac).6667## 2.2. Интерпретатор и его окружение6869### 2.2.1. Кодировка исходного кода7071По умолчанию исходные файлы Python считаются закодированными в UTF-8. В этой кодировке символы большинства языков мира можно одновременно использовать в строковых литералах, идентификаторах и комментариях – хотя стандартная библиотека использует только символы ASCII для идентификаторов, это соглашение, которому должен следовать любой переносимый код. Чтобы правильно отображать все эти символы, редактор должен распознавать, что файл в UTF-8, и использовать шрифт, поддерживающий все символы файла.7273Также можно указать другую кодировку для исходных файлов. Для того чтобы это сделать, поместите ещё одну специальную строку-комментарий сразу после строки `#!` для определения кодировки исходного файла:7475```python76# -*- coding: encoding -*-77```7879После такого объявления всё содержимое исходного файла будет считаться имеющим кодировку *encoding* вместо UTF-8. Список возможных кодировок можно найти в справочнике по библиотеке Python, в разделе [`codecs`](https://python-all.ru/3.4/library/codecs.html#module-codecs).8081Например, если редактор не поддерживает файлы в кодировке UTF-8 и требует использования другой кодировки, например Windows-1252, можно написать:8283```python84# -*- coding: cp-1252 -*-85```8687и при этом использовать все символы набора Windows-1252 в исходных файлах. Специальный комментарий о кодировке должен находиться в *первой или второй* строке файла.8889Сноски9091| [\[1\]](https://python-all.ru/3.4/tutorial/interpreter.html#id1) | В Unix интерпретатор Python 3.x по умолчанию не устанавливается с исполняемым файлом с именем `python`, чтобы не возникало конфликта с одновременно установленным исполняемым файлом Python 2.x. |92| --- | --- |93