1. 全てのプロパティ名と値を取得

クラスのプロパティ情報を取得する方法

全てのプロパティ名と値を取得

モジュール、クラス、インスタンスなどは、__dict__属性を持っています。 この__dict__属性のitemsメソッドを使うと、全プロパティの名前と値を取得できます。

例 全プロパティの名前と値を表示

class Test:
  def __init__(self):
    self.title = '題名'
    self.name = '名前'

test = Test()

for key, value in test.__dict__.items():
  print(key, ':', value))
これを実行すると以下のように表示されます。 Testクラスのインスタンスtestの全プロパティと値を表示しています。
name : 名前
title : 題名

  • 名前だけを取得

  • 全プロパティの名前だけ取得したい場合は、__dict__属性のkeysメソッドを使います。

    例 全プロパティの名前だけ表示

    class Test:
      def __init__(self):
        self.title = '題名'
        self.name = '名前'
    
    test = Test()
    
    for key in test.__dict__.keys():
      print(key)
    これを実行すると以下のように表示されます。 Testクラスのインスタンスtestの全プロパティ名を表示しています。
    name
    title

  • 値だけを取得

  • 全プロパティの値だけ取得したい場合は、__dict__属性のvaluesメソッドを使います。

    例 全プロパティの値だけ表示

    class Test:
      def __init__(self):
        self.title = '題名'
        self.name = '名前'
    
    test = Test()
    
    for value in test.__dict__.values():
      print(value))
    これを実行すると以下のように表示されます。 Testクラスのインスタンスtestの全プロパティ名を表示しています。
    名前
    題名

  • vars

  • 組み込み関数のvarsを使うことでも可能です。 vars関数は、モジュール、クラス、インスタンスなどが持っている__dict__属性を返してくれます。

    Python 3 ドキュメント・組み込み関数・vars

    class Test:
      def __init__(self):
        self.title = '題名'
        self.name = '名前'
    
    test = Test()
    
    print(vars(test))
    これを実行すると以下のように表示されます。
    {'name': '名前', 'title': '題名'}