Difference of hash and __hash__()
Terry Reedy
tjreedy at udel.edu
Tue Sep 2 16:04:30 EDT 2003
"Stefan Fleiter" <stefan.fleiter at web.de> wrote in message
news:bj2nv5$hna$1 at news.web.de...
> under Python 2.2.2:
>
> >>> s = slice(None,5,None)
> >>> hash(s)
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> TypeError: unhashable type
> >>> s.__hash__()
> 136775584
>
> Can anybody explain this?
It looks like a bug. Extended slices were added for use by Numerical
Python. It may never have tried to hash them or only done so only
through the C equivavlent of s.__hash__. Extended slicing of
sequences was, I believe, only added in 2.3.
TJR
More information about the Python-list
mailing list