您能否澄清一下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']