Skip to content

Commit

Permalink
pythongh-101100: Fix Sphinx nitpicks in library/numbers.rst (python…
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexWaygood authored and aisk committed Feb 11, 2024
1 parent 06d280e commit 466edc1
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
19 changes: 10 additions & 9 deletions Doc/library/numbers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

--------------

The :mod:`numbers` module (:pep:`3141`) defines a hierarchy of numeric
The :mod:`!numbers` module (:pep:`3141`) defines a hierarchy of numeric
:term:`abstract base classes <abstract base class>` which progressively define
more operations. None of the types defined in this module are intended to be instantiated.

Expand Down Expand Up @@ -45,7 +45,7 @@ The numeric tower

.. class:: Real

To :class:`Complex`, :class:`Real` adds the operations that work on real
To :class:`Complex`, :class:`!Real` adds the operations that work on real
numbers.

In short, those are: a conversion to :class:`float`, :func:`math.trunc`,
Expand Down Expand Up @@ -126,7 +126,8 @@ We want to implement the arithmetic operations so that mixed-mode
operations either call an implementation whose author knew about the
types of both arguments, or convert both to the nearest built in type
and do the operation there. For subtypes of :class:`Integral`, this
means that :meth:`__add__` and :meth:`__radd__` should be defined as::
means that :meth:`~object.__add__` and :meth:`~object.__radd__` should be
defined as::

class MyIntegral(Integral):

Expand Down Expand Up @@ -160,15 +161,15 @@ refer to ``MyIntegral`` and ``OtherTypeIKnowAbout`` as
of :class:`Complex` (``a : A <: Complex``), and ``b : B <:
Complex``. I'll consider ``a + b``:

1. If ``A`` defines an :meth:`__add__` which accepts ``b``, all is
1. If ``A`` defines an :meth:`~object.__add__` which accepts ``b``, all is
well.
2. If ``A`` falls back to the boilerplate code, and it were to
return a value from :meth:`__add__`, we'd miss the possibility
that ``B`` defines a more intelligent :meth:`__radd__`, so the
return a value from :meth:`~object.__add__`, we'd miss the possibility
that ``B`` defines a more intelligent :meth:`~object.__radd__`, so the
boilerplate should return :const:`NotImplemented` from
:meth:`__add__`. (Or ``A`` may not implement :meth:`__add__` at
:meth:`!__add__`. (Or ``A`` may not implement :meth:`!__add__` at
all.)
3. Then ``B``'s :meth:`__radd__` gets a chance. If it accepts
3. Then ``B``'s :meth:`~object.__radd__` gets a chance. If it accepts
``a``, all is well.
4. If it falls back to the boilerplate, there are no more possible
methods to try, so this is where the default implementation
Expand All @@ -180,7 +181,7 @@ Complex``. I'll consider ``a + b``:

If ``A <: Complex`` and ``B <: Real`` without sharing any other knowledge,
then the appropriate shared operation is the one involving the built
in :class:`complex`, and both :meth:`__radd__` s land there, so ``a+b
in :class:`complex`, and both :meth:`~object.__radd__` s land there, so ``a+b
== b+a``.

Because most of the operations on any given type will be very similar,
Expand Down
1 change: 0 additions & 1 deletion Doc/tools/.nitignore
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ Doc/library/lzma.rst
Doc/library/mmap.rst
Doc/library/multiprocessing.rst
Doc/library/multiprocessing.shared_memory.rst
Doc/library/numbers.rst
Doc/library/optparse.rst
Doc/library/os.rst
Doc/library/pickle.rst
Expand Down

0 comments on commit 466edc1

Please sign in to comment.