summaryrefslogtreecommitdiff
path: root/Doc/reference/datamodel.rst
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2018-03-10 07:49:24 -0800
committerGitHub <noreply@github.com>2018-03-10 07:49:24 -0800
commit89090789debb9d76892af566277cb71740808945 (patch)
tree55f9c8eeac57d42c820c428217149476f49bc2fb /Doc/reference/datamodel.rst
parentf34e0d60e27acff3f9604ec63e9de36878c3743a (diff)
downloadcpython-git-89090789debb9d76892af566277cb71740808945.tar.gz
bpo-26701: Improve documentation for the rounding special methods. (GH-6054)
(cherry picked from commit 496431ffb6c29719332bf2af773349e8dd85e45a) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Diffstat (limited to 'Doc/reference/datamodel.rst')
-rw-r--r--Doc/reference/datamodel.rst30
1 files changed, 18 insertions, 12 deletions
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index 26ad7b8c05..1e93ef4594 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -2364,28 +2364,17 @@ left undefined.
.. method:: object.__complex__(self)
object.__int__(self)
object.__float__(self)
- object.__round__(self, [,n])
.. index::
builtin: complex
builtin: int
builtin: float
- builtin: round
Called to implement the built-in functions :func:`complex`,
- :func:`int`, :func:`float` and :func:`round`. Should return a value
+ :func:`int` and :func:`float`. Should return a value
of the appropriate type.
-.. method:: object.__trunc__(self)
-
- Called to implement :meth:`math.trunc`. Should return the value of the
- object truncated to a :class:`numbers.Integral` (typically an
- :class:`int`). If a class defines :meth:`__trunc__` but not
- :meth:`__int__`, then :meth:`__trunc__` is called to implement the
- built-in function :func:`int`.
-
-
.. method:: object.__index__(self)
Called to implement :func:`operator.index`, and whenever Python needs to
@@ -2401,6 +2390,23 @@ left undefined.
the same value.
+.. method:: object.__round__(self, [,ndigits])
+ object.__trunc__(self)
+ object.__floor__(self)
+ object.__ceil__(self)
+
+ .. index:: builtin: round
+
+ Called to implement the built-in function :func:`round` and :mod:`math`
+ functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`.
+ Unless *ndigits* is passed to :meth:`!__round__` all these methods should
+ return the value of the object truncated to an :class:`~numbers.Integral`
+ (typically an :class:`int`).
+
+ If :meth:`__int__` is not defined then the built-in function :func:`int`
+ falls back to :meth:`__trunc__`.
+
+
.. _context-managers:
With Statement Context Managers