__getattr__为内置方法,当使用点号获取实例属性时,如果属性不存在就自动调用__getattr__方法__setattr__当设置类实例属性时自动调用,如j.name=5 就会调用__setattr__方法 self.[name]=5因为这个类是从dict继承来的,是dict的超类所以 self[attr]=value 相当于调用dict的下标方法与 a={} ; a[attr]=value意思一样