मैं काफी अजगर करने के लिए नया हूँ, और इन पदों पर ध्यान: Python __init__ and self what do they do? और Python Classes without using def __init__(self)def __init __ (स्वयं) की उपयोगिता?
यह के साथ प्रयोग करना तथापि, के बाद, मैंने देखा है कि इन दो वर्गों जाहिरा तौर पर बराबर परिणामों
class A(object):
def __init__(self):
self.x = 'Hello'
def method_a(self, foo):
print self.x + ' ' + foo
देना (this question)
और
class B(object):
x = 'Hello'
def method_b(self,foo):
print self.x + ' ' + foo
से 0
क्या इन दोनों के बीच कोई वास्तविक अंतर है? या, आमतौर पर, __init__
किसी वर्ग के गुणों के बारे में स्वाभाविक रूप से कुछ भी बदलता है? the documentation में यह उल्लेख किया गया है कि उदाहरण बनाते समय __init__
कहा जाता है। क्या इसका मतलब है कि कक्षा B
में तत्कालता से पहले स्थापित किया गया है?
+1 मत भूलना कि जब कक्षाएं हैं ऑब्जेक्ट्स आप किसी भी समय कक्षा की विशेषता को बदल सकते हैं। 'कक्षा ए: पास; एएलएस = सूची (रेंज (6))'। – kojiro