Как работает интерактивный режим Python?

Я хочу знать, как работает интерактивный режим Python. Обычно, когда вы запускаете скрипт Python на CPython, он проходит через процесс лексического анализа, синтаксического анализа, компилируется в файл .pyc и, наконец, файл .pyc интерпретируется.

Происходит ли этот четырехэтапный процесс при использовании интерактивного режима, или есть ли более эффективный способ реализации?


person emperorspride188    schedule 10.07.2015    source источник
comment
В основном он работает так же, но он ориентирован на строки, а не на файлы - каждая строка анализируется, анализируется, компилируется в байт-код и выполняется.   -  person Łukasz Rogalski    schedule 14.07.2015


Ответы (2)


Python имеет два основных режима: обычный и интерактивный. Обычный режим — это режим, в котором подготовленные и готовые файлы .py запускаются в интерпретаторе Python. Интерактивный режим представляет собой оболочку командной строки, которая дает немедленную обратную связь для каждого оператора, при этом выполняя ранее переданные операторы в активной памяти. По мере ввода новых строк в интерпретатор загруженная программа оценивается как частично, так и полностью.
То же самое происходит с файлами .cpy. Интерактивный режим в основном выполняет весь процесс для каждой строки. Я очень сомневаюсь, что есть более эффективный способ сделать это.
Блокнот iPython работает аналогичным образом.

person Meghdeep Ray    schedule 10.07.2015

Из статьи Интерпретируется или компилируется Python? Да.

Еще одна важная функция Python — интерактивная подсказка. Вы можете вводить операторы Python и немедленно выполнять их. Эта интерактивность обычно отсутствует в скомпилированных языках, но даже при интерактивной подсказке Python ваш Python компилируется в байт-код, а затем выполняется байт-код. Это немедленное выполнение и отсутствие в Python явного шага компиляции — вот почему люди называют исполняемый файл Python интерпретатором Python.

person Sanghyun Lee    schedule 24.08.2020