如何深入了解Python的内部机制?
我已经用Python编程超过半年了,最近对Python的内部机制更感兴趣,而不是用Python来开发应用程序。目前,我正在把一些库从Python2移植到Python3。不过,我对如何将这些东西从Python2移植到Python3的理解还比较抽象,因为大部分的变化涉及到Python2.x的设计问题。
我想更多地了解Python的内部机制;我应该采取自上而下还是自下而上的学习方法?你有什么推荐的参考资料吗?
6 个回答
5
我觉得Yaniv Aknin的《Python内部揭秘》系列非常棒。
我也是通过Planet Python发现这个系列的。
。
你可能也会对这个Stack Overflow讨论中的TryPyPy的回答感兴趣。
15
如果你是通过相关链接或搜索偶然看到这个问题的,有一份文档是Yaniv Aknin写的,内容关于Python内部原理。这份文档从基础开始讲解,非常容易理解。
42
听起来你想了解这个编程语言设计背后的原因,而不是它的内部结构。对我来说,“内部结构”指的是像对象在内存中是如何排列的,引用计数是怎么工作的等等。
如果你想更深入地理解这些设计决策,可以看看PEP文档:这些是关于语言变化的提案,通常会详细讨论这些变化的原因、被拒绝的替代方案等等。即使是被拒绝的PEP也很有用,因为它们展示了塑造这个语言的思考过程。
举个例子:
等等……
如果你真的想了解Python的内部结构,可以从阅读Python C API开始,这个API是用来构建Python本身的:我有一个讲座《Python C扩展的快速概览》,这是一个不错的起点。然后你可以深入研究Python的源代码,了解你需要的任何内容。