Possible Duplicate:
Assign a value to class variable is assiging it for all instances of that object
我需要帮助。我已经习惯了java开发,现在我开始使用python。我编写了一个简单的类,其中包含一个字符串列表。在main函数中,我创建了一个对象列表,我想打印对象列表的内容。但是我的函数将所有对象的字符串打印在一起。 下面是一个例子
class FastData:
name=''
lines=[]
def __init__ (self, name):
self.name=name
def setName(self,name):
self.name = name
def addLine(self, line):
self.lines.append(line)
def getLines(self):
return self.lines
def getName(self):
return self.name
def printList(self):
for myline in self.lines:
print myline
if __name__ == '__main__':
listes = []
newData = FastData("Single")
newData.addLine("1")
newData.addLine("2")
listes.append(newData)
newData1 = FastData("Double")
newData1.addLine("111")
newData1.addLine("222")
listes.append(newData1)
for myList in listes:
print myList.getName()
myList.printList()
这是我得到的结果
Single
1
2
111
222
Double
1
2
111
222
谢谢你的帮助
那个拥抱
在代码中,
FastData
的所有实例共享相同的lines
对象。像这样修理:代码按这种方式工作的原因是
lines
是类的属性,而不是类的每个实例的属性。你知道吗相关问题 更多 >
编程相关推荐