我如何/在哪里可以了解 Python 中“幕后”发生的事情

问题描述

我目前主要用 Python 开发东西,我用 Python 编写了很多代码,我慢慢开始怀疑:“Python 的底层到底发生了什么?”,我知道 Python 的代码被转换为二进制然后处理的代码,但是当我创建一个带有值的变量时,我在哪里可以真正找出发生了什么,一个值如何表示,它在哪里存储,它是如何存储的?代码如何转换?布尔值如何工作,如何修改字节?等等。当告诉计算机要做什么时,就像向计算机解释您的评论一样,但是计算机是如何处理所有这些内容的?

我在哪里/如何了解 Python 或我的计算机的实际工作原理(在引擎盖下查看)?我想更多地了解真正发生的事情,希望我能成为一名更好的程序员。

解决方法

这些资源可能会有所帮助:

,

如果你想看看用 Python 编写的字节码解释器,有 x-python。甚至还有一个 gdb (or pdb)-like debugger 允许您执行 Python 语句或字节码指令。

它支持字节码回到 Python 2.4 左右,但解释器在 3.5 和更早版本的操作码左右最为完整。

对于那些想要使用这个项目来增加对字节码的理解以填补空白的人来说,这可以被视为一个功能:-)

它基于 Ned Batchelder 的 byterun。

注意:这两个项目都没有将解释器环境与正在解释的字节码完全隔离。但出于教程目的,这应该不是问题。