我的代码:
class Num:
nums = []
def add(self, num):
self.nums.append(num)
def __str__(self):
return str(self.nums)
a = Num()
b = Num()
a.add(5)
print str(a)
print str(b)
产生
[5]
[5]
即使什么都没有添加到b
最佳答案
因为 nums 是类属性而不是实例属性。
class Num:
def __init__(self):
self.nums = []
def add(self, num):
self.nums.append(num)
def __str__(self):
return str(self.nums)
像这样实现它会显示您期望的行为。
关于python - 为什么我的 Python 实例被共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16836347/