Python 3でオブジェクトのプロパティと値を表示する方法
Pythonではオブジェクトのプロパティ(属性)とその値を調べることができます。ここでは組み込み関数を使って、オブジェクトの全プロパティとその値をどのように表示するかを学びます。
サンプルコード1: dir()
関数の使用
dir()
関数はオブジェクトが持つ属性のリストを返します。これを利用して、属性名と属性値を表示することができます。
class Sample: def __init__(self, name, age): self.name = name self.age = age obj = Sample("Taro", 30) properties = dir(obj) for prop in properties: if prop.startswith('__'): continue print(f"{prop} = {getattr(obj, prop)}")
このコードは、Sample
クラスのインスタンスの属性をフィルタして、特殊メソッドを除外した後、属性名とその値を表示します。
サンプルコード2: vars()
関数の使用
vars()
関数を使用すると、オブジェクトの__dict__
属性を取得できます。これにより、属性と値の辞書を直接取得することが可能です。
class Sample: def __init__(self, name, age): self.name = name self.age = age obj = Sample("Hanako", 25) properties = vars(obj) for prop, value in properties.items(): print(f"{prop} = {value}")
このコードでは、Sample
クラスのインスタンスの全属性とその値を辞書形式で取得し、それを表示しています。
サンプルコード3: getattr()
関数を使った動的な属性アクセス
特定の属性に動的にアクセスする場合、getattr()
関数を使用すると便利です。この関数は、オブジェクトと属性名を引数に取り、その属性の値を返します。
class Sample: def __init__(self, name, age): self.name = name self.age = age obj = Sample("Jiro", 28) attributes = ['name', 'age'] for attr in attributes: print(f"{attr} = {getattr(obj, attr)}")
このコードでは、Sample
クラスのインスタンスobj
から、リストattributes
で指定された属性名を使って値を取得し、表示しています。
これらのサンプルコードを通じて、Pythonでオブジェクトの属性とその値を様々な方法で取得し表示する方法を学ぶことができます。これらの技術はデバッグやデータの検査に非常に役立ちます。