[Python-checkins] cpython (merge 3.5 -> 3.6): Merge 3.5

victor.stinner python-checkins at python.org
Mon Dec 19 07:10:41 EST 2016


https://hg.python.org/cpython/rev/283632069a0d
changeset:   105746:283632069a0d
branch:      3.6
parent:      105743:da958d01755a
parent:      105745:cb802a78ceea
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Mon Dec 19 13:09:55 2016 +0100
summary:
  Merge 3.5

files:
  Doc/reference/datamodel.rst |  13 ++++++++-----
  1 files changed, 8 insertions(+), 5 deletions(-)


diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1338,11 +1338,14 @@
 
    Called by built-in function :func:`hash` and for operations on members of
    hashed collections including :class:`set`, :class:`frozenset`, and
-   :class:`dict`.  :meth:`__hash__` should return an integer.  The only
-   required property is that objects which compare equal have the same hash
-   value; it is advised to somehow mix together (e.g. using exclusive or) the
-   hash values for the components of the object that also play a part in
-   comparison of objects.
+   :class:`dict`.  :meth:`__hash__` should return an integer. The only required
+   property is that objects which compare equal have the same hash value; it is
+   advised to mix together the hash values of the components of the object that
+   also play a part in comparison of objects by packing them into a tuple and
+   hashing the tuple. Example::
+
+       def __hash__(self):
+           return hash((self.name, self.nick, self.color))
 
    .. note::
 

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list