> **Источник:** https://python-all.ru/3.15/tutorial/interpreter.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

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

## 2.1. Запуск интерпретатора

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

```text
python3.15
```

в оболочку. [\[1\]](https://python-all.ru/3.15/tutorial/interpreter.html#id2) Поскольку выбор каталога, в котором находится интерпретатор, является опцией установки, возможны и другие расположения; уточните у местного гуру Python или системного администратора. (Например, `/usr/local/python` – популярное альтернативное расположение.)

На компьютерах с Windows, где Python установлен из [Microsoft Store](https://python-all.ru/3.15/using/windows.html#windows-store), будет доступна команда `python3.15`. Если установлен [запускатель py.exe](https://python-all.ru/3.15/using/windows.html#launcher), можно использовать команду `py`. Другие способы запуска Python описаны в [менеджере установки Python](https://python-all.ru/3.15/using/windows.html#setting-envvars).

Ввод символа конца файла (`Control`-`D` в Unix, `Control`-`Z` в Windows) в основном приглашении приводит к завершению работы интерпретатора с нулевым кодом выхода. Если это не сработает, можно завершить работу интерпретатора, введя следующую команду: `quit()`.

Возможности редактирования строк интерпретатора включают интерактивное редактирование, подстановку истории и автодополнение кода в большинстве систем. Пожалуй, самый быстрый способ проверить, поддерживается ли редактирование командной строки – ввести слово в приглашении Python, а затем нажать клавишу со стрелкой влево (или `Control`-`b`). Если курсор перемещается, редактирование командной строки работает; см. Приложение [Интерактивное редактирование ввода и подстановка истории](https://python-all.ru/3.15/tutorial/interactive.html#tut-interacting) для знакомства с клавишами. Если ничего не происходит или появляется последовательность вроде `^[[D` или `^B`, редактирование командной строки недоступно; можно будет только использовать Backspace для удаления символов из текущей строки.

Интерпретатор работает примерно как оболочка Unix: при вызове со стандартным вводом, подключенным к tty-устройству, он читает и выполняет команды в интерактивном режиме; при вызове с аргументом – именем файла или с файлом в качестве стандартного ввода, он читает и выполняет *скрипт* из этого файла.

Второй способ запуска интерпретатора – `python -c command [arg] ...`, который выполняет инструкцию(и) из *command*, аналогично опции [`-c`](https://python-all.ru/3.15/using/cmdline.html#cmdoption-c) оболочки. Поскольку инструкции Python часто содержат пробелы или другие символы, которые имеют специальное значение для оболочки, обычно рекомендуется заключать *command* полностью в кавычки.

Некоторые модули Python также полезны в качестве скриптов. Их можно вызвать с помощью `python -m module [arg] ...`, который выполняет исходный файл для *module* так, как если бы его полное имя было введено в командной строке.

При использовании файла скрипта иногда бывает полезно запустить скрипт и после этого войти в интерактивный режим. Это можно сделать, передав [`-i`](https://python-all.ru/3.15/using/cmdline.html#cmdoption-i) перед именем скрипта.

Все параметры командной строки описаны в [Командная строка и окружение](https://python-all.ru/3.15/using/cmdline.html#using-on-general).

### 2.1.1. Передача аргументов

Когда интерпретатору известно имя скрипта, оно и последующие дополнительные аргументы преобразуются в список строк и присваиваются переменной `argv` модуля `sys`. Доступ к этому списку можно получить, выполнив `import sys`. Длина списка – не менее одного; если не заданы ни скрипт, ни аргументы, `sys.argv[0]` является пустой строкой. Когда имя скрипта указано как `'-'` (означает стандартный ввод), `sys.argv[0]` устанавливается в `'-'`. При использовании [`-c`](https://python-all.ru/3.15/using/cmdline.html#cmdoption-c) *command*, `sys.argv[0]` устанавливается в `'-c'`. При использовании [`-m`](https://python-all.ru/3.15/using/cmdline.html#cmdoption-m) *module*, `sys.argv[0]` устанавливается в полное имя найденного модуля. Параметры, указанные после `-c` *command* или `-m` *module*, не обрабатываются интерпретатором Python при разборе параметров, а остаются в `sys.argv` для обработки командой или модулем.

### 2.1.2. Интерактивный режим

Когда команды читаются с tty, говорят, что интерпретатор находится в *интерактивном режиме*. В этом режиме он выводит приглашение для следующей команды с помощью *основного приглашения*, обычно три знака «больше» (`>>>`); для строк продолжения он выводит *вторичное приглашение*, по умолчанию три точки (`...`). Перед первым приглашением интерпретатор выводит приветственное сообщение с номером версии и уведомлением об авторских правах:

```console
$ python3.15
Python 3.15 (default, May 7 2025, 15:46:04)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
```

Строки продолжения необходимы при вводе многострочных конструкций. Например, взгляните на эту инструкцию [`if`](https://python-all.ru/3.15/reference/compound_stmts.html#if):

```python
>>> the_world_is_flat = True
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!
```

Подробнее об интерактивном режиме см. в [Интерактивный режим](https://python-all.ru/3.15/tutorial/appendix.html#tut-interac).

## 2.2. Интерпретатор и его окружение

### 2.2.1. Кодировка исходного кода

По умолчанию исходные файлы Python считаются закодированными в UTF-8. В этой кодировке символы большинства языков мира можно одновременно использовать в строковых литералах, идентификаторах и комментариях – хотя стандартная библиотека использует только символы ASCII для идентификаторов, это соглашение, которому должен следовать любой переносимый код. Чтобы правильно отображать все эти символы, редактор должен распознавать, что файл в UTF-8, и использовать шрифт, поддерживающий все символы файла.

Чтобы объявить кодировку, отличную от стандартной, необходимо добавить специальную строку комментария в качестве *первой* строки файла. Синтаксис выглядит следующим образом:

```python
# -*- coding: encoding -*-
```

где *encoding* – одно из допустимых значений [`codecs`](https://python-all.ru/3.15/library/codecs.html#module-codecs), поддерживаемых Python.

Например, чтобы объявить использование кодировки Windows-1252, первая строка исходного файла должна быть:

```python
# -*- coding: cp1252 -*-
```

Одним исключением из правила *первой строки* является случай, когда исходный код начинается с [UNIX-строки «shebang»](https://python-all.ru/3.15/tutorial/appendix.html#tut-scripts). В этом случае объявление кодировки должно быть добавлено второй строкой файла. Например:

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

Сноски

\[[1](https://python-all.ru/3.15/tutorial/interpreter.html#id1)\]

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