This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author max
Recipients docs@python, max
Date 2012-10-04.11:37:14
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1349350634.9.0.571993653286.issue16128@psf.upfronthosting.co.za>
In-reply-to
Content
http://docs.python.org/dev/glossary.html?highlight=hashable says:

Objects which are instances of user-defined classes are hashable by default; they all compare unequal, and their hash value is their id().

Since x == x returns True by default, so "they all compare unequal" isn't quite right.

In addition, both the above paragraph and http://docs.python.org/dev/reference/datamodel.html?highlight=__eq__#object.__hash__ say:

User-defined classes have __eq__() and __hash__() methods by default; with them, all objects compare unequal (except with themselves) and x.__hash__() returns an appropriate value such that x == y implies both that x is y and hash(x) == hash(y).

This is correct, but may leave some confusion with the reader about what happens to a subclass of a built-in class (which doesn't use the default behavior, but instead simply inherits the parent's __hash__ and __eq__).
History
Date User Action Args
2012-10-04 11:37:14maxsetrecipients: + max, docs@python
2012-10-04 11:37:14maxsetmessageid: <1349350634.9.0.571993653286.issue16128@psf.upfronthosting.co.za>
2012-10-04 11:37:14maxlinkissue16128 messages
2012-10-04 11:37:14maxcreate