3小时入门Python——第二十六课程序执行

  |   0 评论   |   0 浏览   |   给我丶鼓励

您是否想过用 Python 编写程序意味着什么?从程序员的角度来看,它只是意味着在文本文件中编写一组熟悉的 Python 语句,然后让 Python 执行该文件。因此,可以使用以下语句创建一个。txt 文件:

print("Hello, World!")

并通过 Python 或 OS 控制台运行它。当然,按照惯例,所有 Python 文件都应该以**.py 扩展名调用,通常人们不使用文本编辑器来编写 Python 代码-他们使用 IDE**,但是思路很明确:从程序员的角度来看源代码仅仅是一组语句。但这不完全是。

如果您已经进行了至少一段时间的编程,则可能听说过诸如解释型编译型语言之类的术语。您很可能已经听说过,Python 是经过解释的一个,没有任何细节。所以,让我们把这全部弄清楚!
现在,程序执行过程必须寻找这样的东西:

实际上,考虑到具有**“解释”**过程的部分,您可以打开逻辑思维并更改中间部分:

...就可以了。实际上,大多数 Python 程序员在这一步都不再深入。通常只要知道“ **Python 是一种解释性语言”,**并使用此口头禅来解释任何内容就足够了。在这里,我们将变得更好—我们将更深入!

解析器

通常,解释过程是什么?有人会说它类似于阅读程序。有些软件只是“读取” 您的程序并逐行执行其中编写的内容。该软件意外地被称为 Interpreter,并且是标准 Python 安装包的一部分。它的另一个固有部分是带有所有内置模块,函数,数据等的标准库。一个有趣的事实:解释器基本上可以用任何编程语言编写。Python 的默认解释器是用 C 编写的,称为 CPython。其他一些 Python 解释器是:

  • PyPy 是用称为 RPython(受限 Python)的 Python 的受限子集编写的,该子集对常规 Python 代码提供了一些限制。
  • Jython 将 Python 代码转换为 Java 兼容的字节代码,然后由 JVM(Java 虚拟机)执行。
  • IronPython 是。NET 框架的 Python 实现。

现在让我们尝试了解一下,在解释过程中到底发生了什么。实际上,此步骤包括 3 个较小的步骤:

编译器将您的语句集(您的源代码)转换为所谓的字节码。字节码本身是较低级别的(因此更详细),与平台无关并且是源代码的更有效的版本,但它不是二进制机器代码,例如用于 Intel 或 AMD 芯片的指令。字节码是特定Python 的源代码表示。这就是为什么某些 Python 程序的执行速度不及 C ++ 或 C(传统的编译语言)中的类似程序的原因。

Python 虚拟机

编译后,将字节代码提供给 PVM(Python 虚拟机)。尽管听起来很令人印象深刻,但实际上,它只是一段很大的代码**,它遍历从编译器收到的字节代码指令并逐个执行它们,从而执行程序员指定的理想操作。它是 Python 系统的内部部分,您不需要安装它,因为它不是独立的程序。实际上,真正执行代码的是 PVM,因此可以说这是 执行任何 Python 程序的最后一步。所有这些复杂性都是故意向程序员隐藏的。“解释部分”是完全自动化的**,因此通常您无需考虑。请记住:Python 程序员只需编写代码并运行文件,其他所有事情都由 Python 本身完成。

结论

现在您应该了解,是的,Python 确实是一种解释语言,但是在解释阶段之前,有一个内部过程将源代码编译为字节代码。因此,执行 Python 程序意味着两个步骤:编译和 解释。

当您的程序转换为字节码时,它会从上到下逐行 执行,因此通常您可以期望您的程序完全按照您编写的方式工作。


标题:3小时入门Python——第二十六课程序执行
作者:给我丶鼓励
地址:https://blog.doiduoyi.com/articles/1593925994005.html

评论

发表评论