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__はインスタンスのカスタム属性のみを返します。両方を使い分けることで、必要に応じてオブジェクトの詳細な情報を取得できます。