我有一个类,并创建了它的实例a
和b
。我认为两个实例都指向相同的地址。
例如,
class Foo:
counter = 0
def increment():
counter += 1
a = Foo()
b = Foo()
for i in range(10):
a.increment()
b.increment()
aa = a.counter
bb = b.counter
print(aa)
print(bb)
我希望有aa = 10
和bb = 10
。但是,此时bb = 20
。我想念什么?
答案 0 :(得分:1)
如果您打算使计数器针对每个实例,则应将其设为实例变量,并使用__init__
方法对其进行初始化:
class Foo:
def __init__(self):
self.counter = 0
def increment(self):
self.counter += 1