[Python-checkins] bpo-41584: clarify when the reflected method of a binary arithemtic operator is called (#22505)

Brett Cannon webhook-mailer at python.org
Mon Oct 5 12:42:40 EDT 2020


https://github.com/python/cpython/commit/d02d824e05e2cb86f4df381be18832e76e2c475f
commit: d02d824e05e2cb86f4df381be18832e76e2c475f
branch: master
author: Brett Cannon <brett at python.org>
committer: GitHub <noreply at github.com>
date: 2020-10-05T09:42:21-07:00
summary:

bpo-41584: clarify when the reflected method of a binary arithemtic operator is called (#22505)

files:
M Doc/reference/datamodel.rst

diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index a817408c3b1ef..4396f1b9b7299 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -2376,10 +2376,11 @@ left undefined.
 
    .. note::
 
-      If the right operand's type is a subclass of the left operand's type and that
-      subclass provides the reflected method for the operation, this method will be
-      called before the left operand's non-reflected method.  This behavior allows
-      subclasses to override their ancestors' operations.
+      If the right operand's type is a subclass of the left operand's type and
+      that subclass provides a different implementation of the reflected method
+      for the operation, this method will be called before the left operand's
+      non-reflected method. This behavior allows subclasses to override their
+      ancestors' operations.
 
 
 .. method:: object.__iadd__(self, other)
@@ -2771,6 +2772,6 @@ An example of an asynchronous context manager class::
    method—that will instead have the opposite effect of explicitly
    *blocking* such fallback.
 
-.. [#] For operands of the same type, it is assumed that if the non-reflected method
-   (such as :meth:`__add__`) fails the operation is not supported, which is why the
-   reflected method is not called.
+.. [#] For operands of the same type, it is assumed that if the non-reflected
+   method -- such as :meth:`__add__` -- fails then the overall operation is not
+   supported, which is why the reflected method is not called.



More information about the Python-checkins mailing list