summaryrefslogtreecommitdiffstats
path: root/Doc/library/constants.rst
diff options
context:
space:
mode:
authorEthan Furman <ethan@stoneleaf.us>2014-11-27 05:15:35 (GMT)
committerEthan Furman <ethan@stoneleaf.us>2014-11-27 05:15:35 (GMT)
commitb004943e9bca2f938b313172367a271f69aa29a5 (patch)
tree83e1f88812fb39181a691e076a686edc575ff6df /Doc/library/constants.rst
parente823933f9f625607c1c17bb5ac174a0c1595875d (diff)
downloadcpython-b004943e9bca2f938b313172367a271f69aa29a5.zip
cpython-b004943e9bca2f938b313172367a271f69aa29a5.tar.gz
cpython-b004943e9bca2f938b313172367a271f69aa29a5.tar.bz2
(3.4) Issue22780: reword NotImplemented docs to emphasise should
Diffstat (limited to 'Doc/library/constants.rst')
-rw-r--r--Doc/library/constants.rst21
1 files changed, 18 insertions, 3 deletions
diff --git a/Doc/library/constants.rst b/Doc/library/constants.rst
index 059a21d..42b5af2 100644
--- a/Doc/library/constants.rst
+++ b/Doc/library/constants.rst
@@ -26,9 +26,24 @@ A small number of constants live in the built-in namespace. They are:
.. data:: NotImplemented
- Special value which can be returned by the "rich comparison" special methods
- (:meth:`__eq__`, :meth:`__lt__`, and friends), to indicate that the comparison
- is not implemented with respect to the other type.
+ Special value which should be returned by the binary special methods
+ (e.g. :meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:`__rsub__`,
+ etc.) to indicate that the operation is not implemented with respect to
+ the other type; may be returned by the in-place binary special methods
+ (e.g. :meth:`__imul__`, :meth:`__iand__`, etc.) for the same purpose.
+ Its truth value is true.
+
+.. note::
+
+ When ``NotImplemented`` is returned, the interpreter will then try the
+ reflected operation on the other type, or some other fallback, depending
+ on the operator. If all attempted operations return ``NotImplemented``, the
+ interpreter will raise an appropriate exception.
+
+ See
+ :ref:`implementing-the-arithmetic-operations`
+ for more details.
+
.. data:: Ellipsis