Hashability questions
alex23
wuwei23 at gmail.com
Mon May 14 21:35:36 EDT 2012
On May 14, 5:11 am, Bob Grommes <bob.grom... at gmail.com> wrote:
> Obviously there is some sort of default implementation of __hash__()
> at work and my implementation of _eq_() has somehow broken it.
> Can anyone explain what's going on?
It looks like this has changed between Python 2 and 3:
"If a class does not define an __eq__() method it should not define a
__hash__() operation either; if it defines __eq__() but not
__hash__(), its instances will not be usable as items in hashable
collections."
From: http://docs.python.org/dev/reference/datamodel.html#object.__hash__
You should just be able to add a __hash__ to Utility and it'll be fine.
More information about the Python-list
mailing list