Python源码剖析--Pyc文件解析
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. PyCodeObject 与 Pyc 文件 通常认为, Python 是一种解释性的语言,但是这种说法是不正确的,实际上, Python 在执行时,首先会将 .py 文件中的源代码编译成 Python 的 byte code (字节码),然后再由 Python Virtual Machine 来执行这些编译好的 byte code 。这种机制的基本思想跟 Java , .NET 是一致的。然而, Python Virtual Machine 与 Java 或 .NET 的 Virtual Machine 不同的是, Python 的 Virtual Machine 是一种更高级的 Virtual Machine 。这里的高级并不是通常意义上的高级,不是说 Python 的 Virtual Machine 比 Java 或 .NET 的功能更强大,更拽,而是说和 Java 或 .NET 相比, Python 的 Virtual Machine 距离真实机器的距离更远。或者可以这么说, Python 的 Virtual Machine 是一种抽象层次更高的 Virtual Machine 。 我们来考虑下面的 Python 代码: [demo.py] class A : pass def Fun ():