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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-02 20:22:30451ブラウズ

How to Retrieve a List of Methods in a Python Class?

Python クラスのメソッドのリストの取得

概要

Python クラスのメソッドのリストを取得すると、以下に基づいて柔軟なオブジェクト操作が可能になります。

解決策

クラス内のメソッドのリストを取得するには、検査モジュールの getmembers 関数を利用します。

<code class="python">import inspect

methods_list = inspect.getmembers(Class, predicate=inspect.ismethod)</code>

ここで、Class はターゲット クラスを表します。

Python 2 と Python 3

getmembers は Python のバージョンに応じて異なる結果を返すことに注意してください:

Python 2: タプルのリストを返します。 [(method_name, unbound_method_object), ...]

Python 3: メソッド オブジェクトのリストを返します: [unbound_method_object, ...]

Parameters

getmembers 関数は次のパラメータを取ることができます:

  • predicate: 返されたメンバーをフィルタリングする関数。述語を渡すメンバーのみが結果に含まれます。
  • instance: 検査するクラスのインスタンス。指定しない場合、クラス メソッドが検査されます。

optparse から OptionParser クラスのメソッドをリストするには:

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

print(inspect.getmembers(OptionParser, predicate=inspect.ismethod))</code>

出力:

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

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

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