gh-101100: Further improve docs on function attributes (#113001)

This commit is contained in:
Alex Waygood 2023-12-12 20:21:12 +00:00 committed by GitHub
parent 956023826a
commit 81a15ea74e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View file

@ -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. must be a dictionary with the global variables accessible to the function.
The function's docstring and name are retrieved from the code object. 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 is retrieved from *globals*. The argument defaults, annotations and closure are
set to ``NULL``. :attr:`~function.__qualname__` is set to the same value as set to ``NULL``. :attr:`~function.__qualname__` is set to the same value as
the code object's :attr:`~codeobject.co_qualname` field. the code object's :attr:`~codeobject.co_qualname` field.

View file

@ -601,7 +601,7 @@ Most of these attributes check the type of the assigned value:
or ``None`` if unavailable. or ``None`` if unavailable.
* - .. attribute:: function.__defaults__ * - .. attribute:: function.__defaults__
- A :class:`tuple` containing default parameter values - A :class:`tuple` containing default :term:`parameter` values
for those parameters that have defaults, for those parameters that have defaults,
or ``None`` if no parameters have a default value. or ``None`` if no parameters have a default value.
@ -614,19 +614,22 @@ Most of these attributes check the type of the assigned value:
See also: :attr:`__dict__ attributes <object.__dict__>`. See also: :attr:`__dict__ attributes <object.__dict__>`.
* - .. attribute:: function.__annotations__ * - .. attribute:: function.__annotations__
- A :class:`dictionary <dict>` containing annotations of parameters. - A :class:`dictionary <dict>` containing annotations of
:term:`parameters <parameter>`.
The keys of the dictionary are the parameter names, The keys of the dictionary are the parameter names,
and ``'return'`` for the return annotation, if provided. and ``'return'`` for the return annotation, if provided.
See also: :ref:`annotations-howto`. See also: :ref:`annotations-howto`.
* - .. attribute:: function.__kwdefaults__ * - .. attribute:: function.__kwdefaults__
- A :class:`dictionary <dict>` containing defaults for keyword-only - A :class:`dictionary <dict>` containing defaults for keyword-only
parameters. :term:`parameters <parameter>`.
* - .. attribute:: function.__type_params__ * - .. attribute:: function.__type_params__
- A :class:`tuple` containing the :ref:`type parameters <type-params>` of - A :class:`tuple` containing the :ref:`type parameters <type-params>` of
a :ref:`generic function <generic-functions>`. a :ref:`generic function <generic-functions>`.
.. versionadded:: 3.12
Function objects also support getting and setting arbitrary attributes, which Function objects also support getting and setting arbitrary attributes, which
can be used, for example, to attach metadata to functions. Regular attribute can be used, for example, to attach metadata to functions. Regular attribute
dot-notation is used to get and set such attributes. dot-notation is used to get and set such attributes.