重複の可能性:
python クラス属性を調べる
クラスで定義されたすべての属性の名前のきれいなリストを取得する必要があります。次のクラスがあるとしましょう:
class MyClass(object):
attr1 = None
attr2 = 2
attr3 = "Hello world"
私ができることがあるかどうか知りたいです:
>>> some_method(MyClass) # <- check class
['attr1', 'attr2', 'attr3']
>>> my_class = MyClass()
>>> some_method(my_class) # <- check instance of MyClass
['attr1', 'attr2', 'attr3']
などのdir
属性や、クラスが持つメソッドも返すため、組み込みメソッドに頼ることはできません。つまり、クラスで定義された属性のみを取得する必要があり、組み込みの属性もメソッドも取得する必要はありません。__class__
__getattr__
それは可能ですか?dir
または、リストの戻り値をループしていくつかのfilter
ingを作成できるように、どの属性が組み込みで、どの属性が私によって定義されているかを知る方法はありますか?
助けてくれてありがとう!!