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.
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.

View File

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