cpython: b6ee02acaae9 (original) (raw)
Mercurial > cpython
changeset 93615:b6ee02acaae9
Issue22780: reword NotImplemented docs to emphasise should
Ethan Furman ethan@stoneleaf.us | |
---|---|
date | Wed, 26 Nov 2014 21:17:53 -0800 |
parents | d502b5d60e00(current diff)ebb8865dcf54(diff) |
children | 1c97f373fe49 |
files | Doc/library/constants.rst Doc/reference/datamodel.rst |
diffstat | 3 files changed, 25 insertions(+), 4 deletions(-)[+] [-] Doc/library/constants.rst 20 Doc/library/numbers.rst 2 Doc/reference/datamodel.rst 7 |
line wrap: on
line diff
--- a/Doc/library/constants.rst +++ b/Doc/library/constants.rst @@ -26,9 +26,23 @@ A small number of constants live in the .. data:: NotImplemented
- Special value which should be returned by the special methods
- (:meth:
__eq__
, :meth:__lt__
, :meth:__add__
, etc.) to indicate - that the operation 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. +
- 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.
--- a/Doc/library/numbers.rst
+++ b/Doc/library/numbers.rst
@@ -110,6 +110,8 @@ those. You can add MyFoo
between :cl
MyFoo.register(Real)
+.. _implementing-the-arithmetic-operations:
+
Implementing the arithmetic operations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -154,11 +154,16 @@ NotImplemented
This type has a single value. There is a single object with this value. This
object is accessed through the built-in name NotImplemented
. Numeric methods
- and rich comparison methods should return this value if they do not implement the operation for the operands provided. (The interpreter will then try the reflected operation, or some other fallback, depending on the operator.) Its truth value is true.
- See
- :ref:
implementing-the-arithmetic-operations
- for more details. +