在哪里可以学习Python底层的运行机制?

3
我目前主要使用Python进行开发,我经常编写Python代码,现在开始渐渐地想知道:"Python的底层到底是怎样的?" 我知道Python的代码会被转换成二进制代码然后被处理,但是当我创建一个带有值的变量时,这个值是如何表示的,它存储在哪里,如何存储?代码是如何转换的?布尔值是如何工作的?如何修改字节?告诉计算机该做什么就像向计算机解释您的注释一样,但计算机如何处理所有这些内容?
我想了解Python或者通用计算机是如何运行的(看看引擎盖下面的东西)?我希望通过学习更多关于底层的知识来提高自己的编程水平。

我知道Python的代码会被转换成二进制代码,然后进行处理。这在很大程度上取决于Python的实现方式。在CPython中,它会被转换成字节码(但不是真正的机器码),然后在Python解释器中运行该字节码。关于CPython,请参考其源代码。对于其他实现方式,请参考它们的源代码或文档。 - undefined
对于在CPython中的实际解释,请从这里开始阅读,尽管它非常复杂。此外,使用dis模块查看生成的字节码。 - undefined
2个回答


0
如果你想查看用Python编写的字节码解释器,可以参考x-python。甚至还有一个gdb(或pdb)-like调试器,它允许你逐步执行Python语句或字节码指令。
它支持回溯到Python 2.4左右的字节码,但解释器在3.5操作码及之前最完整。
对于那些希望通过这个项目增加对字节码理解的人来说,这可以被视为一个特性,以至于能够填补其中的空白 :-)
它基于Ned Batchelder的byterun。
注意:这两个项目都没有完全隔离解释器环境和正在解释的字节码。但是对于教程目的来说,这不应该是一个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接