可能重複:
「Least Astonishment」 in Python: The Mutable Default ArgumentPython類構造函數默認參數
誰能解釋下奇怪的行爲?
我有以下類:
class Zoo:
def __init__(self,alist=[]):
self.animals = alist
def __len__(self):
return len(self.animals)
def add(self,a):
self.animals.append(a)
,當我這樣做,
In [38]: z=Zoo()
In [39]: z.add(2)
In [40]: z.add(23)
In [41]: len(z)
Out[41]: 2
In [42]: z2=Zoo()
In [43]: len(z2)
Out[43]: 2
爲什麼z2.animals不是空單嗎?
感謝,馬蒂亞斯
也許他不知道要搜索什麼?如果您不瞭解這些條款,有時候很難提出正確的搜索條件。 – hopla 2012-04-12 13:22:11