创建新类时,它将添加三个新的dunder方法:
class Obj: pass
>>> set(dir(Obj))-set(dir(object))
{'__module__', '__weakref__', '__dict__'}
似乎其中两个已经在object
上工作了,因为__dict__
和__module__
都会产生某种结果,只有__weakref__
会导致错误。
为什么将这三个项目“添加”到类对象的dir
?而且,为什么__dict__
或__module__
似乎仍然没有通过自省显示为object
类型呢?