Der merkwürdige Fall von hash(-1) == hash(-2) in Python
2025-01-10
Eine Frage auf Reddit, warum `hash(-1) == hash(-2)` in Python gilt, löste eine Untersuchung aus. Durch das Eintauchen in den CPython-Quellcode entdeckte der Autor, dass -1 in der Funktion `PyObject_Hash` als Fehlerindikator verwendet wird. Wenn der berechnete Hash also -1 ist, wird er in -2 umgewandelt. Dies ist kein Easter Egg von Python, sondern eine Eigenart, wie der C-Code von CPython Fehler behandelt.
Mehr lesen
Entwicklung
Quellcode-Analyse