理解类属性和实例属性:
直接在类里面定义的变量叫类属性,类属性是公有的,每个类实例化就自动拥有类的属性,且实例化对象的这个属性的初始地址指向类属性的地址
如果直接给实例化对象的属性赋值这样会改变该属性的内存地址,此时不在指向类属性地址,而是在实例内存地址中开一块空间存该属性
在类方法里面定义的self.xx是实例属性,是私有的,每个实例有自己的存储空间,各自的私有属性存在各自的空间中
当然也可以直接给实例化对象增加属性如a1是Animal的实例化对象,则a1.age = 18会给a1添加一个类属性,但Animal的其他实例化对象并没有age属性


本文详细解析了类属性和实例属性的区别与联系。类属性是公有的,由所有实例共享;实例属性则是私有的,每个实例独立拥有。直接修改实例属性会使其脱离类属性的共享,而在实例中开辟新的存储空间。

被折叠的 条评论
为什么被折叠?



