https://github.com/python/cpython/commit/67f742e03aacb6217c5bb496e31f96dbf31c6f86
commit: 67f742e03aacb6217c5bb496e31f96dbf31c6f86
branch: main
author: Gouvernathor <[email protected]>
committer: erlend-aasland <[email protected]>
date: 2024-03-03T00:45:48Z
summary:
gh-72971: Clarify the special no-TypeError behavior for equality (#110729)
files:
M Doc/reference/datamodel.rst
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index 82106a41c4c4ed..75b656f385d34b 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1812,12 +1812,15 @@ Basic customization
rather, :meth:`__lt__` and :meth:`__gt__` are each other's reflection,
:meth:`__le__` and :meth:`__ge__` are each other's reflection, and
:meth:`__eq__` and :meth:`__ne__` are their own reflection.
- If the operands are of different types, and right operand's type is
+ If the operands are of different types, and the right operand's type is
a direct or indirect subclass of the left operand's type,
the reflected method of the right operand has priority, otherwise
the left operand's method has priority. Virtual subclassing is
not considered.
+ When no appropriate method returns any value other than
:data:`NotImplemented`, the
+ ``==`` and ``!=`` operators will fall back to ``is`` and ``is not``,
respectively.
+
.. method:: object.__hash__(self)
.. index::
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]