__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里面找该属性,如果找不到,就跳去类属性里面找

 

posted @ 2015-09-15 22:52  shinymood  阅读(256)  评论(0编辑  收藏  举报