0

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

但是有些不是,例如__class__. 我的问题是哪些属性没有存储__dict__(甚至记录在某处吗?),为什么没有?

4

1 回答 1

3

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

因此__class__,例如, is in object.__dict__- 这就是为什么它是为所有类定义的,因为它们继承自object.

于 2012-05-04T09:28:22.040 回答