On Wed, Feb 20, 2013 at 12:38 AM, Olive
<diolu.remove_this_p...@bigfoot.com> wrote:
> 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

This is an old-style class. If you subclass object, it works as you expect:

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

>>> a=A(3)
>>> hash(a)

Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    hash(a)
TypeError: unhashable type: 'A'

This is with Python 2.6. With Python 3 and later, that distinction no
longer exists.

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

Reply via email to