クラスインスタンスからユーザ定義のクラス属性を取得するにはどうすればよいですか?私はこれを試しました:クラスインスタンスからユーザ定義のクラス属性を取得する
class A:
FOO = 'foo'
BAR = 'bar'
a = A()
print(a.__dict__) # {}
print(vars(a)) # {}
私はpython 3.5を使用します。 入手方法はありますか? 私はdir(a)
が属性の名前を持つリストを返すことを知っていますが、定義されたものだけを使用し、値にはディクテーション名を使用する必要があります。あなたはインスタンスに伝播されていないクラスの名前空間の中にこれらの変数を定義した
In [5]: [x for x in dir(a) if not x.startswith('__')]
Out[5]: ['BAR', 'FOO']
私はそれはまた、親から属性を返す必要があることを言及するのを忘れて – danielko