Интерактивный режим интерпретатора
Интерпретатор Python можно использовать в режиме REPL (Read-Execute-Print Loop). Это позволяет производить вычисления, проверять какие-то идеи и концепции, а так же отлаживать программы и пользоваться встроенной интерактивной справкой без использования текстового редактора или иных инструментов.
Чаще всего на практике этот режим используется в качестве продвинутого калькулятора.
Запуск интерпретатора в интерактивном режиме
Запустить интерпретатор в интерактивном режиме можно несколькими способами.
- В терминале вашей операционной системы командой python (в Windows) или python3 (в Linux и macOS). При запуске без указания выполняемого файла скрипта интерпретатор сразу же переходит в режим REPL.
- Если у вас установлены альтернативные оболочки для Python, можно запустить их из меню операционной системы либо командой в Терминале. Пример такой оболочки — ipython .
- Можно просто воспользоваться средой разработки IDLE. Сразу после запуска IDLE появляется окно оболочки Python (Python Shell), в котором интерпретатор работает в интерактивном режиме.
Работа в интерактивном режиме
При работе в интерактивном режиме интерпретатор может находиться в двух состояниях.
- В состоянии ожидания команды интерпретатор ничего не делает, только ждёт, пока пользователь введёт нужные инструкции и нажмёт Enter .
- После этого интерпретатор переходит в состояние выполнения команды. В это время ничего вводить нельзя (разве что команда запросит какие-то данные), а интерпретатор занят выполнением команд, которые пользователь ввёл на предыдущем шаге.
Различить состояния просто: в состоянии ожидания интерпретатор показывает так называемое приглашение в начале строки. Оно выглядит так:
Три угловые скобки. Если вы их видите, знайте: интерпретатор вас внимательно слушает. Оболочки вроде iPython выводят другое приглашение:
Цифра в квадратных скобках — порядковый номер команды. Если ввести какой-то текст сейчас и нажать Enter, интерпретатор попытается выполнить этот текст как программу на Python и выведет результат выполнения, либо сообщение об ошибке, если случилась ошибка.
Если ввести команду не полностью, например, поставить открывающую скобку ( , но не поставить закрывающую ) , после чего нажать Enter , интерпретатор поймёт, что пользователь ещё не закончил свою команду, и предложит продолжить ввод, показывая другое приглашение:
Соответственно, если вы нажали Enter , а команда не выполнилась, и вместо этого на экране появилось троеточие, значит, вы пропустили закрывающую скобку.
В любой момент можно прервать ввод, нажав сочетание клавиш Ctrl + C . Это вызовет ошибку KeyboardInterrupt, которая прервёт любые действия интерпретатора, заставит его забыть, что вы начинали вводить, и вернёт его снова к состоянию ожидания команды.
Если вам нужно выполнить команду повторно, или исправить опечатку в предыдущей команде, можно воспользоваться историей команд. В Терминале команды перелистываются нажатиями клавиш «Стрелка вверх» ( ↑ ) и «Стрелка вниз» ( ↓ ). В IDLE же — клавишами Alt + P (назад по истории) и Alt + N (вперёд). В IDLE на macOS сочетания клавиш иные: Control + P и Control + N .
Выход из интерактивного режима
Чтобы выйти из интерактивного режима и завершить работу интерпретатора, нужно сделать следующее:
- при работе в IDLE просто закройте все окна IDLE
- при работе в Терминале нажмите Ctrl + D (в Linux и macOS) или Ctrl + Z (в Windows), либо введите команду exit() (да-да, это функция, круглые скобки тоже нужно ввести) и нажмите Enter .
Использованы значки из шрифта Entypo с сервиса Fontello.
Работа с интерактивным окном Python
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Visual Studio предоставляет интерактивное окно для цикла REPL (read–eval–print loop) отдельно для каждого окружения Python, что дает ряд преимуществ над интерфейсом REPL из командной строки python.exe. В интерактивном окне (открывается с помощью команд меню Просмотр>Другие окна> Интерактивное окно) можно ввести произвольный код Python и немедленно увидеть результаты. Этот способ программирования помогает изучать и экспериментировать с API и библиотеками, а также интерактивно разрабатывать рабочий код для включения в проекты.

Visual Studio имеет много режимов REPL Python для выбора:
| REPL | Description | Редактирование | Отладка | изображения; |
|---|---|---|---|---|
| Standard | RePL по умолчанию напрямую взаимодействует с Python | Стандартное редактирование (многостроочное и т. д.). | Да, через $attach | No |
| Отладка | По умолчанию REPL взаимодействует с отладчиком процесса Python | Стандартное редактирование | Только отладка | No |
| IPython | REPL взаимодействует с серверной частью IPython | Команды IPython, средства Pylab | No | Да, встроенные в REPL |
| IPython без Pylab | REPL взаимодействует с серверной частью IPython | Стандартный IPython | No | Да, в отдельном окне |
В этой статье описаны стандартный режим REPL и режим отладки REPL. Дополнительные сведения о режимах IPython см. в руководстве по использованию IPython в интерактивном окне.
Подробное пошаговое руководство с примерами, включая взаимодействие с редактором, например с помощью клавиш CTRL+ВВОД, см. в шаге 3 в руководстве по использованию интерактивного окна REPL.
Открытие интерактивного окна
Существует несколько способов открыть для окружения интерактивное окно.
Первый способ — переключитесь в окно окружений Python (Просмотр>Другие окна>Окружения Python или CTRL+K>CTRL+`) и выберите команду Открыть интерактивное окно или нажмите кнопку выбранного окружения.

Во-вторых, в нижней части меню «Другие>окна представления» есть команда «Интерактивное окно Python» для среды по умолчанию и команда для переключения в окно «Среды «:

Наконец, можно выбрать код в файле и использовать команду Send to Interactive, описанную в следующем разделе.
Параметры интерактивного окна
Вы можете управлять разными аспектами интерактивного окна с помощью меню Инструменты>Параметры>Python>Интерактивные окна (см. Параметры):

Работа с интерактивным окном Python
Открыв интерактивное окно, вы можете вводить в него отдельные строки кода в ответ на приглашение >>>. Интерактивное окно выполняет каждую строку при вводе, которая включает такие параметры, как импорт модулей, определение переменных.

Исключение заключается в том, что для выполнения полной инструкции требуется больше строк кода, например, когда for оператор заканчивается двоеточием, как показано выше. В этих случаях запрос строки изменяется на . , указывающий, что необходимо ввести дополнительные строки для блока, как показано на четвертом и пятом строках на рисунке выше. Когда вы завершите ввод клавишей ВВОД в пустой строке, интерактивное окно закроется и блок выполнится в интерпретаторе.
Интерактивное окно повышает удобство работы с обычными условиями цикла REPL в командной строке Python, автоматически выделяя отступами операторы, принадлежащие к окружающей области видимости. В журнале (можно отозвать с помощью стрелки вверх) также представлены многострочные элементы, в то время как в среде REPL с командной строкой содержатся только единичные строки. Интерактивное окно также поддерживает несколько метакоманд. Все метакоманды начинаются с $ . Чтобы получить список метакоманд, введите $help , а для получения сведений об использовании конкретной команды введите $help .
| Метакоманда | Description |
|---|---|
| $$ | Вставляет комментарий, благодаря чему можно комментировать код на протяжении всего сеанса. |
| $cls , $clear | Удаляет содержимое окна редактора, не затрагивая журнал и контекст выполнения. |
| $help | Выводит список команд или справку по определенной команде. |
| $load | Загружает команды из файла и выполняет их до завершения. |
| $mod | Переключает текущую область на модуль с указанным именем. |
| $reset | Сбрасывает среду выполнения до начального состояния, но сохраняет историю. |
| $wait | Ожидает на протяжении как минимум указанного числа миллисекунд. |
Команды также допускают расширение с помощью расширений Visual Studio путем реализации и экспорта IInteractiveWindowCommand (пример).
Переключение областей видимости
По умолчанию область действия интерактивного окна проекта ограничена файлом запуска проекта, как и при запуске из командной строки. Для автономного файла действия выполняются в области этого файла. Однако в любое время во время сеанса REPL раскрывающееся меню в верхней части интерактивного окна позволяет изменить область:

После импорта модуля, например с помощью команды import importlib , в раскрывающемся списке отображаются параметры, позволяющие переключиться в любую область этого модуля. В интерактивном окне появляется сообщение, определяющее новую область, помогая вам отслеживать изменение состояний во время сеанса.
После ввода dir() в области отобразятся допустимые идентификаторы этой области, включая имена функций, классы и переменные. Например, в import importlib dir() следующем примере показано следующее сообщение:

Команда «Отправить код в интерактивное окно»
Кроме выполнения действий непосредственно в интерактивном окне, вы можете выбрать любой код в редакторе, щелкнуть его правой кнопкой мыши и выбрать Отправить в интерактивное окно или нажать клавиши CTRL+ВВОД.

Эта команда также удобна для итеративной или эволюционной разработки кода, включая тестирование кода по мере разработки. Например, после того как вы отправили фрагмент кода в интерактивное окно и увидели результат его выполнения, можно снова отобразить этот код нажатием стрелки «вверх», внести изменения и быстро проверить результат, нажав клавиши CTRL+ВВОД. (Нажатие клавиши Ввод в конце входных данных выполняется, но нажатие клавиши ВВОД в середине входных данных вставляет новую строку.) После получения нужного кода его можно легко скопировать в файл проекта.
По умолчанию Visual Studio удаляет >>> и . ЗАПРОС REPL при вставки кода из интерактивного окна в редактор. Это поведение можно изменить на вкладке Инструменты>Параметры>Текстовый редактор>Python>Дополнительно с помощью параметра Вставка удаляет запросы REPL. См. раздел Параметры. Прочие параметры.
Кроме выполнения действий непосредственно в интерактивном окне, вы можете выбрать любой код в редакторе, щелкнуть его правой кнопкой мыши и выбрать Отправить в интерактивное окно или нажать клавиши CTRL+ВВОД.

Эта команда также удобна для итеративной или эволюционной разработки кода, включая тестирование кода по мере разработки. Например, после отправки фрагмента кода в интерактивное окно и просмотра его выходных данных можно нажать стрелку вверх, чтобы снова отобразить код, изменить его и быстро протестировать, нажав клавиши CTRL +E. (Нажатие клавиши Ввод в конце входных данных выполняется, но нажатие клавиши ВВОД в середине входных данных вставляет новую строку.) После получения нужного кода его можно легко скопировать в файл проекта.
По умолчанию Visual Studio удаляет >>> и . ЗАПРОС REPL при вставки кода из интерактивного окна в редактор. Это поведение можно изменить на вкладке Инструменты>Параметры>Текстовый редактор>Python>Дополнительно с помощью параметра Вставка удаляет запросы REPL. См. раздел Параметры. Прочие параметры.
Поведение IntelliSense
В интерактивном окне применяется технология IntelliSense на основе используемых объектов, в отличие от редактора кода, в котором IntelliSense основывается только на анализе исходного кода. Эти предложения в интерактивном окне более точные, особенно при работе с динамически создаваемым кодом. Недостаток заключается в том, что функции с побочными эффектами (например, запись сообщений) могут повлиять на процесс разработки.
Если это является проблемой, измените параметры, выбрав Инструменты>Параметры>Python>Интерактивные окна в группе Режим завершения, как указано в описании параметров интерактивных окон.
Python Урок 3 — Варианты выполнения ваших программ
Программируя на Python у вас есть огромный выбор способа выполнения ваших программ. Отдельно добавим сюда интерактивный режим, который имеется не у всех языков программирования. В этом уроке мы постараемся разобрать основные способы.
1K открытий
Интерактивный режим
Если простым языком, то интерактивный режим (далее ИР) — это возможность писать ваши программы построчно и при этом сохранять состояние программы с начала вашего кода и обращаться к нему.
Самый простой способ запустить ИР, это в командной строке выполнить команду python (или py, если у вас стоит запускающий модуль).
C:\python_course> python >>> 2*2 4
Три знака больше «>>>» означают что вы вошли в ИР и от вас ожидается ввод кода. Чтобы выйти из ИР нажмите «Ctrl» + «Z» и нажмите «Enter».
Более продвинутый вариант ИР с подсветкой синтаксиса и дополнительными инструментами это IDLE. Самый простой способ запустить его — это в поле «Поиск» около меню «Пуск» набрать слово «IDLE», найти приложений и запустить его. Так же советую закрепить на панели задач, если вы собираетесь часто им пользоваться. Кроме подсветки синтаксиса, автозавершения фраз, истории команд, подсказок к функциям и дополнительных инструментов упрощающих жизнь программиста вы так же можете сохранить файлы, для последующей работы с ними, чего нельзя сделать в командной строке. В IDLE вы так же можете работать в режиме редактирования файлов.
Наверное самый мощный инструмент работы в ИР это Jupyter Notebook, им пользуются абсолютно все специалисты Data Science (наука о данных) которые работают с Python.
Так же есть ИР online, например на портале Kaggle, Google Colab и многие другие.
Запуск вашей программы из командной строки
Мы уже запускали программу из командной строки, но запуск был несколько специфичный. В общем виде вы должны перейти в командной строке в папку где расположен ваш файл, написать команду python (либо py) и название вашего файла с его расширением.
C:\python_course> python lesson_02.py
Запуск по щелчку
Двойной щелчок на вашем файле выполнит его. Но т.к. программа выполняется крайне быстро, вы можете не заметить его выполнения. Предлагаю не останавливаться на нюансах этого выполнения потому что на практике вы практически не будите им пользоваться.
IDE — Интегрированная среда разработки
Существует огромное кол-во IDE для Python которые очень сильно помогают разработчикам. Популярные IDE как правильно сильно функциональней и удобней встроенного IDLE. Предлагаю вам сразу выбрать наиболее удобный для вас IDE (можно попробовать разные) и работать именно в нем. Этот режим выполнения ваших программ будет наиболее частый.
По запросу «IDE для Python» вы найдете их все с описанием и сравнением.
Для себя я уже выбрал PyCharm, будет достаточна бесплатная Community версия для этого курса. Так же есть множество способов получить версию Professional, но я пока не советую этим заниматься, всему свое время.
Способов выполнения ваших программ гораздо больше, но этого набора более чем достаточно. Пробуйте их и пишите свои комментарии, чтобы мы вместе улучшили данный урок.
А вот и первые практические задания для самостоятельно выполнения.
- Откройте командную строку и перейдите в ИР. ИР вполне можно использовать как калькулятор, экспериментируйте. Вот вариант того что можно посчитать: «2+2*4-7», «2+(2*4)-7», «(6+(3+1)*4)/3», «2**8″ и т.д. Два подряд знака умножения указываю степень в которую нужно возвести число. Не ставьте » Enter».
- Откройте IDLE и закрепите его во вкладке задач. Выполните все те же действия что и выше. Сохраните файл, потом вы всегда сможете к нему вернуться.
- Изучите какие IDE есть для работы с Python.
- Установите PyCharm или любую другую IDE. Для этого вам самостоятельно потребуется найти материалы как устанавливать выбранную IDE.
- В вашей IDE создайте проект и в нем один файл, содержимое которого пока только «print(«Hello World. «)«. Запустите этот файл. Если у вас возникли проблемы с запуском, постарайтесь решить их самостоятельно, это умение вам еще много раз пригодится.
Шаг 3. Использование интерактивного окна REPL
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Предыдущий шаг: написание и запуск кода
Интерактивное окно Visual Studio для Python обеспечивает широкий цикл чтения и оценки печати (REPL), который значительно сокращает обычный цикл редактирования и отладки. Интерактивное окно предоставляет все возможности интерфейса REPL командной строки Python. Оно также упрощает обмен кодом с помощью исходных файлов в редакторе Visual Studio, что довольно затруднительно сделать с помощью командной строки.
Для решения проблем с REPL обязательно установите пакеты ipython и ipykernel . Сведения об установке пакетов см. в статье Справочная информация по вкладкам окна «Окружения Python».

- Откройте интерактивное окно, щелкнув правой кнопкой мыши среду Python проекта в Обозреватель решений (например, Python 3.6 (32-разрядная версия) и выбрав «Открыть интерактивное окно«. Также можно выбрать в главном меню Visual Studio Вид>Другие окна>Интерактивные окна Python.
- Интерактивное окно открывается под редактором со стандартным >>> запросом Python REPL. С помощью раскрывающегося списка Окружения можно выбрать определенный интерпретатор для работы. Если вы хотите сделать интерактивное окно более большим, можно перетащить разделитель между двумя окнами, как показано на рисунке ниже:
Совет Размеры любых окон в Visual Studio можно изменять, перетаскивая граничные разделители. Вы также можете перетаскивать окна за пределы окна Visual Studio и изменять их расположение внутри этого окна, как вам нравится. Подробные сведения см. в статье Настройка макетов окон.


# Create a string with spaces proportional to a cosine of x in degrees def make_dot_string(x): return ' ' * int(20 * cos(radians(x)) + 20) + 'o'

Выберите операторы функций import , from и make_dot_string в файле .py. Щелкните правой кнопкой мыши выделенный текст и выберите Отправить код в интерактивное окно (или нажмите клавиши Ctrl+ВВОД). Фрагмент кода сразу же вставляется в интерактивное окно и запускается. Так как код определил функцию, можно быстро проверить эту функцию, вызвав ее несколько раз:
Совет При нажатии клавиш CTRL+ ВВОД в редакторе без выделения выполняется текущая строка кода в интерактивном окне и автоматически помещает курсор в следующую строку. Это позволяет легко выполнять код в пошаговом режиме, многократно нажимая клавиши CTRL+ВВОД, что невозможно при использовании командной строки Python. Таким образом также возможно пошаговое выполнение кода без запуска отладчика, в том числе не с самого начала программы.
for i in range(360): s = make_dot_string(i) print(s)


При вставке в редакторе остается только код:
for i in range(0, 1800, 12): s = make_dot_string(i) print(s)
Следующий шаг
Дополнительные подробности
- Работа с интерактивным окном Python
- Использование IPython REPL
