Hashability questions
Bob Grommes
bob.grommes at gmail.com
Tue May 15 10:52:41 EDT 2012
On Monday, May 14, 2012 8:35:36 PM UTC-5, alex23 wrote:
> 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.
Thanks, Alex. I should have mentioned I was using Python 3. I guess all this is a bit over-thought to just crank out some code -- in practice, comparing two classes for equality is mostly YAGNI -- but it's my way of coming to a reasonably in-depth understanding of how things work ...
More information about the Python-list
mailing list