When dealing with functions in Python, it can be convenient to obtain their argument names. Suppose we have a function named a_method defined as:
<code class="python">def a_method(arg1, arg2): pass</code>
To retrieve the argument names as a tuple of strings, we can utilize the inspect module.
<code class="python">import inspect inspect.getfullargspec(a_method)</code>
This will return a tuple containing the argument names: ('arg1', 'arg2').
The inspect module provides additional insights into callable objects. For instance, if a function has default arguments or accepts variable-length arguments, the getfullargspec function will return information about those as well.
For example, the following function has a default argument and variable-length arguments:
<code class="python">def foo(a, b, c=4, *arglist, **keywords): pass</code>
inspect.getfullargspec will yield:
<code class="python">(['a', 'b', 'c'], 'arglist', 'keywords', (4,))</code>
This tuple indicates that c has a default value of 4, arglist is used for variable-length positional arguments, and keywords for variable-length keyword arguments.
In Python 3.3 and later, the inspect.signature function can be used to obtain the call signature of a callable object, including the argument names. For the example function foo:
<code class="python">inspect.signature(foo)</code>
This will return an Signature object providing detailed information about the function's signature.
The above is the detailed content of How Can I Get the Parameter Names of a Python Function?. For more information, please follow other related articles on the PHP Chinese website!