From: Alex Waygood Date: Tue, 12 Dec 2023 20:36:51 +0000 (+0000) Subject: [3.11] gh-101100: Further improve docs on function attributes (#113001) (#113031) X-Git-Tag: v3.11.8~279 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b8a6eeec390ec3ff619bab59afd9b66e5d90725f;p=thirdparty%2FPython%2Fcpython.git [3.11] gh-101100: Further improve docs on function attributes (#113001) (#113031) (cherry-picked from commit 81a15ea74e) --- diff --git a/Doc/c-api/function.rst b/Doc/c-api/function.rst index a6a864ed8a3b..805c84607bd8 100644 --- a/Doc/c-api/function.rst +++ b/Doc/c-api/function.rst @@ -35,7 +35,7 @@ There are a few functions specific to Python functions. must be a dictionary with the global variables accessible to the function. The function's docstring and name are retrieved from the code object. - :func:`~function.__module__` + :attr:`~function.__module__` is retrieved from *globals*. The argument defaults, annotations and closure are set to ``NULL``. :attr:`~function.__qualname__` is set to the same value as the code object's :attr:`~codeobject.co_qualname` field. diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index a47e59885851..735827aff078 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -600,7 +600,7 @@ Most of these attributes check the type of the assigned value: or ``None`` if unavailable. * - .. attribute:: function.__defaults__ - - A :class:`tuple` containing default parameter values + - A :class:`tuple` containing default :term:`parameter` values for those parameters that have defaults, or ``None`` if no parameters have a default value. @@ -613,14 +613,15 @@ Most of these attributes check the type of the assigned value: See also: :attr:`__dict__ attributes `. * - .. attribute:: function.__annotations__ - - A :class:`dictionary ` containing annotations of parameters. + - A :class:`dictionary ` containing annotations of + :term:`parameters `. The keys of the dictionary are the parameter names, and ``'return'`` for the return annotation, if provided. See also: :ref:`annotations-howto`. * - .. attribute:: function.__kwdefaults__ - A :class:`dictionary ` containing defaults for keyword-only - parameters. + :term:`parameters `. Function objects also support getting and setting arbitrary attributes, which can be used, for example, to attach metadata to functions. Regular attribute