replace(*[, name][, kind][, default][, annotation])
Create a new Parameter instance based on the instance replaced was invoked on. To override a Parameter
attribute, pass the corresponding argument. To remove a default value or/and an annotation from a Parameter, pass Parameter.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 name
set to None
if their kind
was set to POSITIONAL_ONLY
. This is no longer permitted.
Please login to continue.