1:python 对象是可以动态添加属性的,怎么理解这句话呢,比如:
class Test:
pass
此时这个类都没有属性,去做实例化,obj = Test()
obj.name = 'ff' ,这句代码就是在动态的添加属性name给obj这个对象
2:类属性怎么定义
class Test:
name='hehe'
这个name就是类属性
3:创建一个对象 TestObj = Test()
print(TestObj.name) ;这句代码操作过程会先去自己对象堆空间找有没有name这个属性,如果没有就会向类的空间去找,所以打印hehe
TestObj.name = 'fff' ; 这句代码的操作过程在对象自己的堆空间去动态添加这个name属性,故而这样的操作是不会改变类属性name的值的。想要改变类属性的值可以只用Test.name = 'XXX'
print(TestObj.name) ;这句代码操作过程会先去自己对象堆空间找有没有name这个属性 ,找到了就直接打印出'fff'