我已经使用Python编程半年多了,对于Python内部更感兴趣,而不是用Python开发应用程序。目前,我正在将一些库从Python2迁移到Python3。然而,我对于如何将东西从Python2迁移到Python3有一个抽象的看法,因为大部分的变化涉及到Python2.x中的设计问题。
我想学习更多关于Python内部的知识;我应该采取自上而下还是自下而上的方法?你能推荐一些参考资料吗?
我已经使用Python编程半年多了,对于Python内部更感兴趣,而不是用Python开发应用程序。目前,我正在将一些库从Python2迁移到Python3。然而,我对于如何将东西从Python2迁移到Python3有一个抽象的看法,因为大部分的变化涉及到Python2.x中的设计问题。
我想学习更多关于Python内部的知识;我应该采取自上而下还是自下而上的方法?你能推荐一些参考资料吗?
看起来您想了解语言设计背后的原理,而不是语言内部的细节。对我而言,“内部”意味着诸如对象在内存中的布局方式,引用计数的工作原理等。
如果您正在寻求更深入的设计决策理解,请阅读PEPs:它们是语言变化的提案,通常包括有关变化原因、被拒绝的替代方案等详细讨论。即使是被拒绝的PEP也很有用,因为它们展示了塑造语言思维的过程。
例如:
等等...
如果您真的想了解Python内部细节,请先阅读Python C API,这是构建Python本身所使用的工具:我的演讲“通过Python C扩展进行旋风式之旅”是一个好的入门起点。然后,您可以深入源代码研究任何需要了解的内容。
build_py_2_to_3
,可以解决这个问题。通过在我的setup.py中使用该命令,我可以发布一个源分发版,可以在Python 2或Python 3上部署。一个示例可以在jaraco.util中找到。你试过这个吗?