一、类变量
1.1 可变变量作为类变量:对于列表、字典、自定义类这些可变变量,如果将其作为类变量,则是传引用。即所有对象的类变量公用一个内存地址。
1.2不可变变量作为类变量:对于INT,STRING这种不可变变量,如果将其作为类变量,则是传值。即所有对象的类变量有各自的内存地址。
对于1.2:第一次对象的变量没改,改类的变量会影响对象变量,只要改一次对象变量,就不会影响了
A.ui = 10 #注意 用类名不能调用函数啊
print(object1.ui)
object1.ui = 5
print(object1.ui)
print(object2.ui)
A.ui = 11
print('------------------------------')
print(object1.ui)
print(object2.ui)
10
5 #修改一次object1
10
------------------------------
5 #再次修改A为11并没有影响object1
11
二、对象变量
2.1 不管是可变变量还是不可变变量,只要是放在构造函数中,则都是传值。即各个对象拥有自己的对象属性。