【问题标题】:How does Python's interactive mode work?Python 的交互模式是如何工作的?
【发布时间】:2023-03-27 03:16:01
【问题描述】:

我想知道 Python 交互模式是如何工作的。通常当你在 CPython 上运行 Python 脚本时,它会经过词法分析、解析、编译成 .pyc 文件,最后解释 .pyc 文件。

在使用交互模式时是否也会发生这个 4 步过程,r 是否有更有效的实现方式?

【问题讨论】:

  • 它的工作原理基本相同,但它是面向行而不是面向文件的——每一行都被分析、解析、编译为字节码并执行。

标签: python python-2.7 python-3.x python-internals


【解决方案1】:

Python 有两种基本模式:普通模式和交互模式。正常模式是脚本化和完成的.py 文件在 Python 解释器中运行的模式。交互模式是一个命令行 shell,它为每个语句提供即时反馈,同时在活动内存中运行先前馈送的语句。随着新行被输入解释器,输入的程序被部分和整体评估。
.cpy 文件也是如此。交互模式基本上是为每一行做整个过程。我非常怀疑是否有更有效的方法可以做到这一点。
iPython notebook 的工作方式类似。

【讨论】:

    【解决方案2】:

    来自Is Python interpreted or compiled? Yes.的文章

    另一个重要的 Python 特性是它的交互式提示。您可以键入 Python 语句并立即执行它们。 “编译”语言中通常缺少这种交互性,但即使在 Python 交互提示符下,您的 Python 也会被编译为字节码,然后执行字节码。这种立即执行以及 Python 缺乏显式编译步骤,是人们将 Python 可执行文件称为“Python 解释器”的原因。

    【讨论】:

      猜你喜欢
      • 2011-03-12
      • 2013-01-25
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      • 2018-12-12
      • 1970-01-01
      相关资源
      最近更新 更多