【发布时间】:2019-08-12 18:54:34
【问题描述】:
我有一个类并创建了它的实例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 在这一点上。我错过了什么?
【问题讨论】:
-
您的计数器变量是类变量而不是实例变量。您将使用 self 访问实例变量。 docs.python.org/2/tutorial/…
-
您的代码不起作用:
increment不是类方法,counter应该是self.counter