python的问题,关于类中定义的列表,求大神解答

2024-10-31 06:54:21
推荐回答(2个)
回答1:

你用id(test1.List) 和id(test2.List) 可以发现,两个的id值一样。
因为List 是紧接着类后面定义的变量,被称为类变量。类似于java的静态变量
如果在__init__中的self.List的话就是实例变量。

回答2:

当实例化对象的时候,新的实例得到是类属行的一个引用,这个引用不能说是可读的,可读不可读都是针对所引用的这个属性是否可变,数字,字符串是不可边的数据类型,而list或者自定义对象等都是可变类型
class a:
b=4
List=[];
test1=a()
test1.b=5
test1.List.append("11")
test2=a()
print (test2.List),(test2.b),(test1.b)
>>>
['11'] 4 5
>>>
http://my.oschina.net/emrys/blog/89652