我有一個對象的問題。創建新的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對象仍然存在,儘管它在一個私有變量中。
如何更改代碼以創建新對象?
不要忘記接受一個適合您的答案,只需點擊綠色的選中標記即可。 –