ホームページ > バックエンド開発 > Python チュートリアル > Python でメソッドのパラメータ名を取得するには?

Python でメソッドのパラメータ名を取得するには?

Susan Sarandon
リリース: 2024-11-03 06:52:30
オリジナル
1010 人が閲覧しました

How to Retrieve Method Parameter Names in Python?

メソッドのパラメータ名の取得

次のような定義された関数があるとします。

def a_method(arg1, arg2):
    pass
ログイン後にコピー

引数名を取得するにはどうすればよいですか("arg1", "arg2") のような文字列のタプルとして。

検査モジュールの使用

検査モジュールを使用すると、コード オブジェクトを検査して取得できます。彼らの特性。 a_method の引数名を取得するには、inspect.getfullargspec():

>>> inspect.getfullargspec(a_method)
(['arg1', 'arg2'], None, None, None)
ログイン後にコピー

を使用します。結果は、引数名と、args や * の名前などの追加情報で構成されます。 kwargs 変数とそのデフォルト値。

def foo(a, b, c=4, *arglist, **keywords): pass
>>> inspect.getfullargspec(foo)
(['a', 'b', 'c'], 'arglist', 'keywords', (4,))
ログイン後にコピー

inspect.signature() の使用

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

>>> inspect.signature(foo)
<Signature (a, b, c=4, *arglist, **keywords)>
ログイン後にコピー

これにより、パラメーターのタイプやデフォルト値を含む、より詳細な署名が提供されます。

注: Python の一部の呼び出し可能オブジェクト特に CPython の C で定義されたものは、内省できない場合があります。このような場合、inspect.getfullargspec() は ValueError を発生させます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート