inspect.docs: Document constructors for Signature & Parameter #20442
This commit is contained in:
parent
bb08b365c0
commit
224c9c1f49
|
@ -435,12 +435,21 @@ function.
|
|||
no metadata about their arguments.
|
||||
|
||||
|
||||
.. class:: Signature
|
||||
.. class:: Signature(parameters=None, \*, return_annotation=Signature.empty)
|
||||
|
||||
A Signature object represents the call signature of a function and its return
|
||||
annotation. For each parameter accepted by the function it stores a
|
||||
:class:`Parameter` object in its :attr:`parameters` collection.
|
||||
|
||||
The optional *parameters* argument is a sequence of :class:`Parameter`
|
||||
objects, which is validated to check that there are no parameters with
|
||||
duplicate names, and that the parameters are in the right order, i.e.
|
||||
positional-only first, then positional-or-keyword, and that parameters with
|
||||
defaults follow parameters without defaults.
|
||||
|
||||
The optional *return_annotation* argument, can be an arbitrary Python object,
|
||||
is the "return" annotation of the callable.
|
||||
|
||||
Signature objects are *immutable*. Use :meth:`Signature.replace` to make a
|
||||
modified copy.
|
||||
|
||||
|
@ -489,7 +498,7 @@ function.
|
|||
"(a, b) -> 'new return anno'"
|
||||
|
||||
|
||||
.. class:: Parameter
|
||||
.. class:: Parameter(name, kind, \*, default=Parameter.empty, annotation=Parameter.empty)
|
||||
|
||||
Parameter objects are *immutable*. Instead of modifying a Parameter object,
|
||||
you can use :meth:`Parameter.replace` to create a modified copy.
|
||||
|
|
Loading…
Reference in New Issue