Skip to content

Commit

Permalink
pythongh-101100: Further improve docs on function attributes (python#…
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexWaygood committed Dec 12, 2023
1 parent 9560238 commit 81a15ea
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
2 changes: 1 addition & 1 deletion Doc/c-api/function.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
9 changes: 6 additions & 3 deletions Doc/reference/datamodel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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.
Expand Down

0 comments on commit 81a15ea

Please sign in to comment.