class Test():
test1 = 1
def __init__(self):
self.test2 = 2
r = Test()
print r.__dict__
print getattr(r,'test1')
__dict__
辞書にtest1属性が表示されないのはなぜですか?
instance.__dict__
クラス属性ではなく、インスタンス属性が含まれます。
クラス属性を取得するには、Test.__dict__
またはを使用しますtype(r).__dict__
。
>>> r = Test()
>>> print r.__dict__
{'test2': 2}
>>> print Test.__dict__
{'test1': 1, '__module__': '__main__', '__doc__': None, '__init__': <function __init__ at 0x000000000282B908>}
>>> print getattr(r,'test1')
1
または、次を使用できますvars
。
>>> print vars(r)
{'test2': 2}
>>> print vars(Test)
{'test1': 1, '__module__': '__main__', '__doc__': None, '__init__': <function __init__ at 0x000000000282B908>}
>>>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加