Python3 整数与长整数统一实现
我刚刚读了一份关于Python3k中整型和长整型统一的PEP文档,编号是PEP 237。里面提到的做法很有意思。这个做法是创建一个新的类型“整数”,它是整型和长整型的抽象基类。而且,当对整型进行运算时,如果结果是非常大的数字,就不会再出现溢出错误(OverflowError),而是会返回一个长整型。
我想看看并尝试理解在Python3k中这个功能的具体实现。请问我该怎么做呢?哪些文件包含关于“类型”实现的详细信息?
到目前为止,我只阅读了大部分非C语言的Python标准库模块,所以我不太清楚具体该去哪里找。
1 个回答
3
首先,从 Include/longobject.h
和 Objects/longobject.h
开始。这些路径是相对于Python源代码的根目录的。确保你使用一个适合浏览C代码的编辑器,或者用GNU global
生成一个互相链接的HTML参考文档,这样会更方便。
另外,阅读 这篇关于Python 3对象内部结构的文章,以及它的续集,肯定会对你有帮助。