Python的hash(-1) == hash(-2)之谜

2025-01-10

Reddit上一个关于Python中`hash(-1) == hash(-2)`的疑问引发了作者的好奇。通过深入研究CPython的源码,作者发现-1在`PyObject_Hash`函数中被用作错误指示符。因此,当计算结果为-1时,会被转换为-2。这并非Python的彩蛋,而是CPython C代码处理错误的方式。

开发 源码分析