我刚刚通读了 PEP 237 中关于在 Python3k 中统一整型和长整型的 PEP。其中使用的方法看起来非常有趣。该方法是创建一个新类型“整数”,它是 int 和 long 的抽象基类。此外,对导致非常大的数字的 int 执行操作将不再导致 OverflowError,而是返回一个 long。
我想看看并尝试理解它在 Python3k 中的底层实现。我该怎么办?哪些文件包含有关“类型”实现的详细信息?
到目前为止,我只是冒险阅读了大部分非 C python stdlib 模块;因此我不清楚具体应该看哪里。
最佳答案
从 Include/longobject.h
和 Objects/longobject.h
开始,这些路径相对于 Python 源代码树的根目录。确保为自己配备一个适合方便地浏览 C 代码的编辑器,或者使用 GNU global
生成 HTML 链接引用。
此外,阅读 this article 肯定会有帮助关于 Python 3 中对象的内部结构及其续集。
关于Python3 int, long统一实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3784273/