[Python-Dev] NotHashableError? (Re: dict containment annoyance)
Scott Dial
scott+python-dev at scottdial.com
Mon Aug 14 05:49:09 CEST 2006
Greg Ewing wrote:
> Guido van Rossum wrote:
>> try:
>> hash(x)
>> except TypeError:
>> # apparently x is not hashable
>>
>> then you're also swallowing any type errors in the computation of a
>> legitimate hash function.
>
> Maybe it would help if there were a specific exception,
> such as NotHashableError, that hash functions were
> expected to raise in this situation instead of a
> generic TypeError.
I was going to suggest this, but then I realized that what is really
desirable is a check for hashability. But since hashability is a deep
property, it is difficult to check for.. seems like an very specific
exception type would be a simple solution. FYI, I appreciate that
swallowing all TypeErrors is bad form, so it would be nice if it was
possible to differentiate ;-)
Some brief googling on the subject yield a discussion on py3k about this
very subject.
http://mail.python.org/pipermail/python-3000/2006-July/002697.html
Guido wrote:
> Personally, I'm not sure this problem needs solving; I don't recall
> ever needing to know whether something is hashable. So perhaps it's of
> purely theoretical importance? That would suit me fine given the above
> dilemma...
>
> --Guido
--
Scott Dial
scott at scottdial.com
scodial at indiana.edu
More information about the Python-Dev
mailing list