任何人都可以告诉我为什么,为什么我的实例变量(带有类型集)的长度不像我那样工作。
当我拨打a.addToSet("xx")
时,我认为len(b.aSet)
和len(ExampleClass.aSet)
的值应该返回零,因此当a.aInt
为100且休息为0时,控制台打印所有三个实例都是1。
非常感谢
==========================
让我们说,我们有一个名为ExampleClass的类,它有两个变量:aSet和aInt。
class ExampleClass():
aSet = set()
aInt = 0
def addToSet(self,aValue):
self.aSet.add(aValue)
a=ExampleClass()
b=ExampleClass()
a.addToSet("xx")
a.aInt=100
print len(a.aSet)
print len(b.aSet)
print len(ExampleClass.aSet)
print a.aInt
print b.aInt
print ExampleClass.aInt
1
1
1
100
0
0