我有一个对象的问题。创建新的python对象似乎是相同的对象
下面的代码
class Data:
def __init__(self,data=[]):
self.data = data
def add(self,data):
self.data.extend(data)
class Parent:
def testa(self):
a = Data()
a.add('a')
print a.data
def testb(self):
b = Data()
b.add('b')
print b.data
if __name__ == "__main__":
p = Parent()
p.testa()
p.testb()
生成以下的输出:
[]
['a']
['a']
['a', 'b']
为什么是不是有新的对象产生的? testb中的第二次看起来旧的Data对象仍然存在,尽管它在一个私有变量中。
如何更改代码以创建新对象?
不要忘记接受一个适合您的答案,只需点击绿色的选中标记即可。 –