在 Python 中检索函数参数名称
在 Python 中,函数参数通常使用占位符变量来定义。虽然这些变量在函数定义中显式命名,但从外部检查函数时可能无法轻松访问它们。
inspect.getfullargspec
inspect 模块提供了获取函数参数列表的便捷方法。通过调用inspect.getfullargspec(function),其中function是目标函数,您可以检索包含参数名称的元组。
示例:
<code class="python">def a_method(arg1, arg2): pass print(inspect.getfullargspec(a_method)) # Output: (['arg1', 'arg2'], None, None, None)</code>
This示例将参数名称(“arg1”和“arg2”)打印为元组。
inspect.signature (Python 3.3 )
自 Python 3.3 起,inspect.signature () 提供了一种更高级的方法来检查函数签名。它返回一个代表函数参数的 Signature 对象,包括参数的类型和默认值。
示例:
<code class="python">def foo(a, b, c=4, *arglist, **keywords): pass print(inspect.signature(foo)) # Output: <Signature (a, b, c=4, *arglist, **keywords)></code>
注意:
某些可调用函数(例如内置函数)可能无法在所有 Python 实现中进行自省。在这种情况下,使用inspect.getfullargspec()或inspect.signature()可能会导致ValueError。
以上是如何在 Python 中检索函数参数名称?的详细内容。更多信息请关注PHP中文网其他相关文章!