कोड:पायथन बेस क्लास विशेषताएँ साझा करते हैं? test.py में
class Base(object):
def __init__(self, l=[]):
self.l = l
def add(self, num):
self.l.append(num)
def remove(self, num):
self.l.remove(num)
class Derived(Base):
def __init__(self, l=[]):
super(Derived, self).__init__(l)
अजगर खोल सत्र:
Python 2.6.5 (r265:79063, Apr 1 2010, 05:22:20)
[GCC 4.4.3 20100316 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import test
>>> a = test.Derived()
>>> b = test.Derived()
>>> a.l
[]
>>> b.l
[]
>>> a.add(1)
>>> a.l
[1]
>>> b.l
[1]
>>> c = test.Derived()
>>> c.l
[1]
मैं "सी ++ - तरह" उम्मीद कर रहा था व्यवहार है, जिसमें प्रत्येक व्युत्पन्न वस्तु आधार वर्ग के अपने स्वयं के उदाहरण में शामिल है। क्या अभी भी यही मामला है? प्रत्येक ऑब्जेक्ट एक ही सूची उदाहरण साझा करने के लिए क्यों दिखाई देता है?
संभव डुप्लिकेट (http://stackoverflow.com/questions/1132941/least-astonishment-in-python- द म्यूटेबल-डिफॉल्ट-तर्क) –