Context: building a consistent hashing algorithm.
The official documentation for Python's hash()
function states:
Return the hash value of the object (if it has one). Hash values are integers.
However, it does not explicitly state whether the function maps to an integer range (with a minimum and a maximum) or not.
Coming from other languages where values for primitive types are bounded (e.g. C#'s/Java's Int.MaxValue
), I know that Python's likes to think in "unbounded" terms – i.e. switching from int
to long
in the background.
Am I to assume that the hash()
function also is unbounded? Or is it bounded, for example mapping to what Python assigns to the max/min values of the "int-proper" – i.e. between -2147483648
through 2147483647
?