[Python-Dev] PEP 3144 review. (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Mon Sep 28 16:57:14 CEST 2009


Dj Gilcrease <digitalxero gmail.com> writes:

>>> net1 = IPNetwork("10.1.2.3/24") >>> net2 = IPNetwork("10.1.2.0/24") >>> print hash(net1) == hash(net2) False >>> print net1 == net2 True

Ouch :-) It is very bad practice for equal objects to hash differently. Differing hashes are supposed to imply non-equal objects, so as to allow the implementation of associative containers with good performance characteristics.

Regards

Antoine.



More information about the Python-Dev mailing list