class inspect.Parameter(name, kind, *, default=Parameter.empty, annotation=Parameter.empty) 
Parameter objects are immutable. Instead of modifying a Parameter object, you can use Parameter.replace() to create a modified copy.
Changed in version 3.5: Parameter objects are picklable and hashable.
- 
empty
- 
A special class-level marker to specify absence of default values and annotations. 
- 
name
- 
The name of the parameter as a string. The name must be a valid Python identifier. 
- 
default
- 
The default value for the parameter. If the parameter has no default value, this attribute is set to Parameter.empty.
- 
annotation
- 
The annotation for the parameter. If the parameter has no annotation, this attribute is set to Parameter.empty.
- 
kind
- 
Describes how argument values are bound to the parameter. Possible values (accessible via Parameter, likeParameter.KEYWORD_ONLY):Name Meaning POSITIONAL_ONLY Value must be supplied as a positional argument. Python has no explicit syntax for defining positional-only parameters, but many built-in and extension module functions (especially those that accept only one or two parameters) accept them. POSITIONAL_OR_KEYWORD Value may be supplied as either a keyword or positional argument (this is the standard binding behaviour for functions implemented in Python.) VAR_POSITIONAL A tuple of positional arguments that aren’t bound to any other parameter. This corresponds to a *argsparameter in a Python function definition.KEYWORD_ONLY Value must be supplied as a keyword argument. Keyword only parameters are those which appear after a *or*argsentry in a Python function definition.VAR_KEYWORD A dict of keyword arguments that aren’t bound to any other parameter. This corresponds to a **kwargsparameter in a Python function definition.Example: print all keyword-only arguments without default values: >>> def foo(a, b, *, c, d=10): ... pass >>> sig = signature(foo) >>> for param in sig.parameters.values(): ... if (param.kind == param.KEYWORD_ONLY and ... param.default is param.empty): ... print('Parameter:', param) Parameter: c
- 
replace(*[, name][, kind][, default][, annotation])
-  Create a new Parameter instance based on the instance replaced was invoked on. To override a Parameterattribute, pass the corresponding argument. To remove a default value or/and an annotation from a Parameter, passParameter.empty.>>> from inspect import Parameter >>> param = Parameter('foo', Parameter.KEYWORD_ONLY, default=42) >>> str(param) 'foo=42' >>> str(param.replace()) # Will create a shallow copy of 'param' 'foo=42' >>> str(param.replace(default=Parameter.empty, annotation='spam')) "foo:'spam'"Changed in version 3.4: In Python 3.3 Parameter objects were allowed to have nameset toNoneif theirkindwas set toPOSITIONAL_ONLY. This is no longer permitted.
 
          
Please login to continue.