I am trying to define a class whose instances should not be hashable, 
following: http://docs.python.org/2/reference/datamodel.html#object.__hash__

class A:
    def __init__(self,a):
        self.value=a
    __hash__=None
    

Then:

>>> a=A(3)
>>> hash(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable
>>> hash([2])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

I would expect the same error in both case and the error is confusing in the 
first case. What's the proper way of making an object non hashable?

Olive

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to