ホームページ >バックエンド開発 >Python チュートリアル >Python 関数のパラメータ名を取得するにはどうすればよいですか?

Python 関数のパラメータ名を取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 02:39:29820ブラウズ

How Can I Get the Parameter Names of a Python Function?

Python を使用したメソッドのパラメータ名の取得

Python で関数を扱う場合、引数名を取得すると便利です。 a_method という名前の関数が次のように定義されているとします。

<code class="python">def a_method(arg1, arg2):
    pass</code>

引数名を文字列のタプルとして取得するには、inspect モジュールを利用できます。

<code class="python">import inspect

inspect.getfullargspec(a_method)</code>

これは、引数名を含むタプル: ('arg1', 'arg2').

検査モジュールは、呼び出し可能なオブジェクトに関する追加の洞察を提供します。たとえば、関数にデフォルトの引数がある場合、または可変長の引数を受け入れる場合、getfullargspec 関数はそれらに関する情報も返します。

たとえば、次の関数にはデフォルトの引数と可変長の引数があります。

<code class="python">def foo(a, b, c=4, *arglist, **keywords):
    pass</code>

inspect.getfullargspec は次の結果を生成します:

<code class="python">(['a', 'b', 'c'], 'arglist', 'keywords', (4,))</code>

このタプルは、c のデフォルト値が 4 であり、arglist が可変長の位置引数に使用され、キーワードが可変長であることを示します。

Python 3.3 以降では、inspect.signature 関数を使用して、引数名を含む呼び出し可能オブジェクトの呼び出し署名を取得できます。関数 foo の例:

<code class="python">inspect.signature(foo)</code>

これは、関数のシグネチャに関する詳細情報を提供する Signature オブジェクトを返します。

以上がPython 関数のパラメータ名を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。