diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2018-03-10 15:55:13 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-10 15:55:13 (GMT) |
commit | de8567e38c44b1509f0b906aec54437256848f14 (patch) | |
tree | cbd9feab40fe1fd23a9b2036edae341800bae0c2 | |
parent | 1028ca4f04c14cf40a8f3e7951623a96ec0143c2 (diff) | |
download | cpython-de8567e38c44b1509f0b906aec54437256848f14.zip cpython-de8567e38c44b1509f0b906aec54437256848f14.tar.gz cpython-de8567e38c44b1509f0b906aec54437256848f14.tar.bz2 |
bpo-26701: Improve documentation for the rounding special methods. (GH-6054)
(cherry picked from commit 496431ffb6c29719332bf2af773349e8dd85e45a)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
-rw-r--r-- | Doc/reference/datamodel.rst | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index 90f3a2a..c08986f 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -2299,28 +2299,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 @@ -2336,6 +2325,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 |