Pythonでオブジェクトの属性を取得する方法
Python
でオブジェクトの全ての属性やメソッドを調べるには、dir()
と__dict__
を使います。
dir()を使った属性の取得
dir()
はオブジェクトのすべての属性とメソッドをリストとして返します。
class MyClass:
def __init__(self):
self.name = 'Alice'
obj = MyClass()
print(dir(obj))
このように、dir()
を使えば、クラス内で定義されたメソッドや特殊属性(__init__
、__str__
など)も取得できます。
__dict__を使ったインスタンス属性の取得
__dict__
は、インスタンスの属性だけを辞書形式で取得します。
print(obj.__dict__)
まとめ
dir()
はより包括的にオブジェクトの属性とメソッドをリストアップし、__dict__
はインスタンスのカスタム属性のみを返します。両方を使い分けることで、必要に応じてオブジェクトの詳細な情報を取得できます。