diff --git a/Doc/library/inspect.rst b/Doc/library/inspect.rst index dc096b743c63343..118bf9b923ddf99 100644 --- a/Doc/library/inspect.rst +++ b/Doc/library/inspect.rst @@ -319,6 +319,8 @@ attributes (see :ref:`import-mod-attrs` for module attributes): +-----------------+-------------------+---------------------------+ | | __self__ | instance to which a | | | | method is bound, or | +| | | module object a function | +| | | was defined in, or | | | | ``None`` | +-----------------+-------------------+---------------------------+ diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index 06176be88e07392..1af5301f51ef967 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -863,7 +863,8 @@ determined by the C function. Special read-only attributes: * :attr:`!__doc__` is the function's documentation string, or ``None`` if unavailable. See :attr:`function.__doc__`. * :attr:`!__name__` is the function's name. See :attr:`function.__name__`. -* :attr:`!__self__` is set to ``None`` (but see the next item). +* :attr:`!__self__` is the module object the function was defined in or + ``None`` if unavailable. * :attr:`!__module__` is the name of the module the function was defined in or ``None`` if unavailable. See :attr:`function.__module__`. diff --git a/Lib/inspect.py b/Lib/inspect.py index dfaa5843a1fb877..945f696bf0abe17 100644 --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -441,7 +441,8 @@ def isbuiltin(object): Built-in functions and methods provide these attributes: __doc__ documentation string __name__ original name of this function or method - __self__ instance to which a method is bound, or None""" + __self__ instance to which a method is bound, or module object + a function was defined in, or None""" return isinstance(object, types.BuiltinFunctionType) def ismethodwrapper(object):