首页 > 编程笔记

Python程序的运行过程(小白必看)

机器语言编写的程序可以在计算机中直接运行,而汇编语言和高级语言编写的程序(通常称为源程序)则需要“翻译”成机器语言才能运行。

源程序“翻译”的方式可分为解释方式和编译方式两种:
Python 是一种解释型的语言,但是这种说法是不严谨的,实际上,Python 在执行时,首先会将 .py 文件中的源代码编译成 Python 的字节码,然后再由 PVM(Python Virtual Machine,Python虚拟机)来执行这些编译好的字节码。这种机制的基本思想跟 Java、.NET 是一致的。

然而,PVM 与 Java 或 .NET 的 Virtual Machine 不同的是,PVM 是一种更高级的 Virtual Machine。这里的高级并不是通常意义上的高级,不是说 PVM 比 Java 或 .NET 的功能更强大,而是说和 Java 或 .NET 相比,PVM 距离真实机器的距离更远。或者可以这么说,PVM 是一种抽象层次更高的 Virtual Machine。

从计算机的角度看,Python 程序的运行过程包含两个步骤:解释器解释和虚拟机运行,如下图所示。


图 1 Python程序运行过程

可将 Python 命令编写到一个源代码文件中,通过执行源代码文件运行程序。Python 程序源代码文件扩展名通常为 .py。在执行时,首先由 Python 解释器将 .py 文件中的源代码翻译成字节码(类似于 Java 的字节码和 .NET 的中间代码),再由 PVM 逐条将字节码翻译成机器指令执行。Python 程序的这种机制和 Java、.NET 类似。

Python 还可以通过交互方式运行。例如,在 UNIX/Linux、Mac、Window 等系统的命令模式下运行 Python 交互环境,然后输入 Python 指令直接运行。

实际开发中,Python 常被称为胶水语言,这不是说它会把你的手指粘住,而是说 Python 能够很轻松地把用其他语言制作的各种模块(尤其是 C/C++)轻松地联结在一起。常见的一种应用情形是,使用 Python 快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如 3D 游戏中的图形渲染模块,速度要求非常高,就可以用 C++ 重写。

推荐阅读

副业交流群 关注微信公众号,加入副业交流群,学习变现经验,交流各种打法。