【发布时间】:2013-04-27 16:13:03
【问题描述】:
class Number():
list = []
number = Number()
number.list.append(0)
print number.list # [0]
newNumber = Number()
newNumber.list.append(1)
print newNumber.list # [0,1]
我创建了两个实例,为什么 newNumber.list 对象有 0?为什么 number 和 newNumber 使用相同的列表?任何人都可以帮助我吗? 以及为什么后面的“i”没有变化?
class Number:
i = 0
number = Number()
number.i = 1
print number.i # 1
newNumber = Number()
print newNumber.i # 0
【问题讨论】:
-
我认为你必须使用 self.list。看到这个问题的自我关键字:stackoverflow.com/questions/6990099/…
-
因为您的代码中定义的
list属于class而不是实例。您需要写self.list = []以使每个实例拥有一个list