El Curioso Caso del hash(-1) == hash(-2) en Python

2025-01-10

Una pregunta en Reddit sobre por qué `hash(-1) == hash(-2)` en Python desencadenó una investigación. Al profundizar en el código fuente de CPython, el autor descubrió que -1 se usa como un indicador de error en la función `PyObject_Hash`. Por lo tanto, cuando el hash calculado es -1, se convierte en -2. Esto no es un huevo de Pascua de Python, sino una peculiaridad de cómo el código C de CPython maneja los errores.