class_analyzer プログラム仕様
クラスやオブジェクトのメンバーを解析・表示するスクリプト。
このスクリプトは、Pythonのオブジェクト(特にpymatgenのオブジェクト)の 関数、変数、属性を抽出し、その内容を整形して標準出力に表示します。 主にデバッグやオブジェクトの内部構造の調査に使用することを目的としています。
関連リンク: 技術ドキュメント: class_analyzer.py
- develop.class_analyzer.get_members(var)
オブジェクトから callable (関数) なメンバーと非 callable (変数) なメンバーを抽出します。
この関数は、与えられたオブジェクトの型に基づいて、そのオブジェクトが持つメソッド(関数)と 通常の変数属性をリストアップします。また、オブジェクトの __dict__ 属性も取得します。
- パラメータ:
var -- Any 解析対象のオブジェクト。
- 戻り値:
tuple (list, list, dict or None) callable なメンバーのリスト、非 callable なメンバーのリスト、オブジェクトの __dict__ 属性。 __dict__ が存在しない場合はNoneが返されます。
- develop.class_analyzer.print_variables(varname, var)
指定されたオブジェクトの型に応じて、その内容やメンバー(関数、変数)を整形して出力します。
この関数は、与えられた変数の型を判別し、基本的なPython型であればその値と型を、 カスタムクラスのインスタンスであれば、そのクラスのモジュール名、クラス名、 そして利用可能な関数(メソッド)とその実行結果、および変数属性を詳細に表示します。 関数の呼び出しで例外が発生した場合は、その結果を表示せず次の処理に進みます。
- パラメータ:
varname -- str 表示する変数の名前(識別子)。
var -- Any 表示するオブジェクト。
- 戻り値:
None 標準出力に内容をプリントするため、明示的な戻り値はありません。