__dict__中没有存储哪些属性,为什么不存在?

时间:2012-05-04 09:23:39

标签: python

在Python中,对象的许多“特殊”属性存储在__dict__字典中,如__doc____module__(从我在实验中看到的)。

然而有些不是,__class__。我的问题是究竟哪些属性没有存储在__dict__中(甚至在某处记录了哪些?),为什么不存在?

1 个答案:

答案 0 :(得分:3)

这取决于你所说的__dict__。 Python有一个方法解析顺序(忽略多继承的乐趣)通过检查实例,然后是类,然后是父类,然后它的父类等等来工作......

例如,__class__位于object.__dict__ - 这就是为什么它为所有类定义,因为它们从object继承。