__dict__
class.__dict__:一个字典,里面是该类所有属性
object.__dict__:一个字典,里面是该对象所有属性
两者的__dict__是完全不一样的东西
class a: ab = 1 def __init__(ab): self.ab = ab self.ccccccccccccccccccccaaaaaa = 1 print (a.__dict__) #结果: {'__init__': <function a.__init__ at 0x000000000371EB70>, '__weakref__': <attribute '__weakref__' of 'a' objects>, 'ab': 1, '__dict__': <attribute '__dict__' of 'a' objects>, '__doc__': None, '__module__': '__main__'} #说明类的dict类属性 abc = a(2) print (abc.__dict__) #输出:{'ccccccccccccccccccccaaaaaa': 1, 'ab': 2} #说明对象属性只包含self.属性
self.属性:python现在对象dict里面找该属性,如果找不到,就跳去类属性里面找