1、关于类属性attribute和实例(对象)特性property思考
为什么特性会出现,类属性不能完全替代它吗?
属性:
python在为属性赋值时,只会搜索对象本身的__dict__,如果找不到对应属性,则将在__dict__中增加,为静态字典。在类 定义的方法中,如果用self引用对象,
也会遵守相同规则。
1、父类有---->子类有---->子类覆盖父类属性(子类属性和父类属性不同)
2、父类有---->子类没有(引用父类)---->子类修改(子类增加,并覆盖掉父类属性)(子类属性和父类属性不同)
3、父类有---->子类没有(引用父类)---->父类修改(父类直接修改,子类没有该属性)
在1和2情况下,父类属性和子类属性不一致,但是好像没关系,你好像用不到父类属性,直接用子类属性即可???
但是如果有多个实例,分别继承父类属性,可能会导致继承属性不一致,在这种情况下,用特性property就没问题了,每个实例子类特性和父类特性完全相同,
不会出现混乱。