Python での関数パラメーター名の取得
Python では、通常、関数パラメーターはプレースホルダー変数を使用して定義されます。これらの変数は関数の定義内で明示的に名前が付けられていますが、外部から関数を検査する場合は簡単にアクセスできない場合があります。
inspect.getfullargspec
検査モジュールは、関数の引数リストを取得するための便利なメソッド。 Inspection.getfullargspec(function) を呼び出すと (function がターゲット関数)、パラメーター名を含むタプルを取得できます。
例:
<code class="python">def a_method(arg1, arg2): pass print(inspect.getfullargspec(a_method)) # Output: (['arg1', 'arg2'], None, None, None)</code>
これこの例では、パラメーター名 ("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() または Inspection.signature() を使用すると、ValueError が発生する可能性があります。
以上がPython で関数のパラメータ名を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。