मैंने एक वर्ग बनाया:एक पायथन कक्षा में सूची एक ही वस्तु को 2 अलग-अलग उदाहरणों से साझा करती है?
class A:
aList = []
अब मेरे पास यह कार्य है जो इस कक्षा को तुरंत चालू करता है और आइटम को सूची में जोड़ता है।
नोट: 2 आइटम
for item in items:
a = A();
a.aList.append(item);
मुझे लगता है कि पहले ए और दूसरे ए ऑब्जेक्ट में उनकी सूची में आइटम की संख्या समान है। मैं उम्मीद करता हूं कि पहले ऑब्जेक्ट की सूची में पहली वस्तु होगी और दूसरी ऑब्जेक्ट में उसकी सूची में दूसरा आइटम होगा।
क्या कोई यह समझा सकता है कि यह कैसे होता है?
PS:
मैं एक निर्माता के अंदर एक सूची को स्थानांतरित करके इस समस्या को हल करने का प्रबंधन करता हूं:
def __init__(self):
self.aList = [];
लेकिन मैं अभी भी इस व्यवहार के बारे में उत्सुक हूं
मैं ऊपर दिए गए आपके कोड में देख सकता हूं, आप 'ए' को असाइन कर रहे हैं, ए की सामग्री यह मान लेगी कि 'ए' सामग्री ए के समान होगी, है ना? –
संभावित डुप्लिकेट [मैं उदाहरणों के बीच पाइथन क्लास डेटा साझा करने से कैसे बचूं?] (Http://stackoverflow.com/questions/1680528/how-do-i-avoid-having-python-class-data-shared-among -इंसेन्स) –