您能否澄清一下self.add(x)下面的工作方式与以下内容是如何相同的self.data.append(x)?也就是说,self.add(x)由于我们没有明确说明,怎么知道要追加到列表中self.data.add(x)?当我们声明时y.addtwice('cat'),'cat'是加到'self',不是self.data。
class Bag:
def __init__(self):
self.data=[]
def add(self,x):
self.data.append(x)
return self.data
def addtwice(self,x):
self.add(x)
self.add(x)
return self.data
>>> y = Bag()
>>> y.add('dog')
['dog']
>>> y.addtwice('cat')
['dog', 'cat', 'cat']