संभव डुप्लिकेट:
“Least Astonishment” in Python: The Mutable Default Argumentअजगर वर्ग निर्माता
किसी को भी निम्नलिखित अजीब व्यवहार की व्याख्या कर सकते हैं?
मैं निम्नलिखित वर्ग है:
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