ホームページ  >  記事  >  バックエンド開発  >  Python クラスで定義されているすべてのメソッドのリストを取得するにはどうすればよいですか?

Python クラスで定義されているすべてのメソッドのリストを取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-27 19:11:01940ブラウズ

How can I retrieve a list of all methods defined in a Python class?

Python でのクラス メソッドの取得

Python クラスには、その機能にアクセスするためのさまざまなメソッドが用意されています。クラスで定義されているすべてのメソッドのリストを取得するには、inspect.getmembers() 関数を使用できます。

使用法:

<code class="python">from inspect import getmembers

# Get class methods
class_methods = getmembers(class_object, predicate=inspect.ismethod)</code>

パラメータ:

  • class_object: メソッドを取得するクラス。
  • predicate : どのメンバーを含めるかを示すフィルター関数。デフォルトではメソッドのみが含まれます。

戻り値:

  • タプルのリスト。各タプルはクラス メンバーを表します。最初の要素はメンバーの名前で、2 番目の要素はメンバーの値 (通常はバインドされていないメソッド) です。

例:

メソッドをリストするにはoptparse.OptionParser クラスで定義されている場合は、次のコードを使用します:

<code class="python">from optparse import OptionParser
import inspect

class_methods = inspect.getmembers(OptionParser, predicate=inspect.ismethod)

print(class_methods)</code>

出力:

[(('__init__', <unbound method OptionParser.__init__>),
  ('add_option', <unbound method OptionParser.add_option>),
  ...)]

注:

  • getmembers() は、属性や他のクラス メンバーの取得にも使用できます。
  • クラス自体ではなく、クラスのインスタンスを getmembers() に渡すと、クラスのメソッドにアクセスでき、特定のインスタンスにバインドされた属性。

以上がPython クラスで定義されているすべてのメソッドのリストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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