我目前主要用Python开发东西,我用Python编写了很多代码,我慢慢地开始想:“Python的底层到底发生了什么?”,我知道Python的代码被转换为二进制代码,这然后进行处理,但是我在哪里可以真正了解当我创建一个带有值的变量时发生了什么,一个值如何表示,它存储在哪里,如何存储?代码如何转换?布尔值如何工作,如何修改字节?当告诉计算机做什么时,就像向计算机解释你的评论一样,但是计算机如何处理所有这些?
我在哪里/如何才能找到Python或我的计算机的实际工作原理(在引擎盖下查看)?我想更多地了解到底发生了什么,希望我成为一名更好的程序员。
如果您想查看用 Python 编写的字节码解释器,可以使用 x-python。甚至还有一个类似 gdb(或 pdb)的调试器,它允许您单步执行 Python 语句或字节码指令。
它支持回到 Python 2.4 左右的字节码,但解释器在 3.5 操作码及更早版本左右最为完整。
对于那些想要使用这个项目来增加对字节码的理解以填补空白的人来说,这可以被视为一个功能:-)
它基于 Ned Batchelder 的 byterun。
注意:这两个项目都没有将解释器环境与正在解释的字节码完全隔离。但出于教程目的,这应该不是问题。
这些网站提供了一些关于 python 底层工作原理的很好的见解: