Pythonでクラス内のプロパティー名と値を取得する方法

Pythonではクラスを作成することができます。

その中にあるプロパティー(メンバー変数)にどのようなものがあり、その値は何なのかを参照することができます。

この記事ではクラス内のプロパティー(メンバー変数)一覧とその値の取得方法を解説します。

スポンサーリンク

Pythonでクラス内のプロパティー名と値を取得する

Pythonでクラス内のプロパティー名と値を取得するには2つの方法があります。

Pythonでクラス内のプロパティ名と値を取得する方法

  1. __dict__属性を利用する
  2. vars関数を利用する

__dict__属性を利用する方法

1つ目は「__dict__属性」を利用する方法です。

Pythonではクラス、インスタンス、モジュールはすべて「__dict__属性」を持っています。
__dict__属性の.items()メソッドを利用すればすべてのプロパティー(メンバー変数)が取得できます。

実行結果は

になります。
「年齢」プロパティーはコンストラクターで生成されていないため、setAge()メソッドがコールされるまでは表示されません。
「性別」プロパティーは子クラス(サブクラス)にしかないため、親クラス(基底クラス)では表示されません。

親クラス(基底クラス)でも子クラス(サブクラス)でも同様にプロパティー(メンバー変数)の名前と値を取得することができます。

vars関数を利用する方法

次に「vars関数」を利用する方法ですが、これは「vars」関数を呼ぶだけでです。

上記の実行結果は

になります。
「年齢」プロパティーはコンストラクターで生成されていないため、setAge()メソッドがコールされるまでは表示されません。
「性別」プロパティーは子クラス(サブクラス)にしかないため、親クラス(基底クラス)では表示されません。

vars関数でも親クラス(基底クラス)でも子クラス(サブクラス)も同様にプロパティー(メンバー変数)の名前と値を取得することができます。

まとめ

Pythonでクラス内のプロパティー名と値は「__dict__属性」か「vars関数」を利用することで取得できます。

以上、Pythonでクラス内のプロパティー名と値を取得する方法でした。

タイトルとURLをコピーしました