inspect.signature(callable, *, follow_wrapped=True)
Return a Signature
object for the given callable
:
>>> from inspect import signature >>> def foo(a, *, b:int, **kwargs): ... pass >>> sig = signature(foo) >>> str(sig) '(a, *, b:int, **kwargs)' >>> str(sig.parameters['b']) 'b:int' >>> sig.parameters['b'].annotation <class 'int'>
Accepts a wide range of python callables, from plain functions and classes to functools.partial()
objects.
Raises ValueError
if no signature can be provided, and TypeError
if that type of object is not supported.
New in version 3.5: follow_wrapped
parameter. Pass False
to get a signature of callable
specifically (callable.__wrapped__
will not be used to unwrap decorated callables.)
Note
Some callables may not be introspectable in certain implementations of Python. For example, in CPython, some built-in functions defined in C provide no metadata about their arguments.
Please login to continue.