From e641780c824ad6d15a29cb206a21dc7745e6c066 Mon Sep 17 00:00:00 2001 From: Ethan Furman Date: Sun, 5 Jan 2014 06:50:30 -0800 Subject: Issue19995: %o, %x, %X now only accept ints --- Doc/reference/datamodel.rst | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'Doc/reference/datamodel.rst') diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index 26d93a6baa..4f19b37cd2 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -2080,9 +2080,17 @@ left undefined. .. method:: object.__index__(self) - Called to implement :func:`operator.index`. Also called whenever Python needs - an integer object (such as in slicing, or in the built-in :func:`bin`, - :func:`hex` and :func:`oct` functions). Must return an integer. + Called to implement :func:`operator.index`, and whenever Python needs to + losslessly convert the numeric object to an integer object (such as in + slicing, or in the built-in :func:`bin`, :func:`hex` and :func:`oct` + functions). Presence of this method indicates that the numeric object is + an integer type. Must return an integer. + + .. note:: + + When :meth:`__index__` is defined, :meth:`__int__` should also be defined, + and both shuld return the same value, in order to have a coherent integer + type class. .. _context-managers: -- cgit v1.2.1