我想了解以下情况:
>>> class Test:
... a = 1
...
>>> x = Test()
>>> x.__dict__
{}
>>> x.a
1
>>> x.__dict__
{}
>>> x.a = 1
>>> x.__dict__
{'a': 1}
开头的a
属性存储在哪里?为什么它只有在赋值后才在__dict__
中可见?
最佳答案
它们存储在类本身中:
>>> class Test:
... a = 1
...
>>> Test.__dict__
{'a': 1, '__module__': '__main__', '__doc__': None}
Python 首先查看实例属性,然后查看类。
关于python - Python中类的顶级属性存储在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23665479/