मैं अजगर का भिखारी हूं। मैं विरासत और समझ नहीं सकता __init__()
।
class Num:
def __init__(self,num):
self.n1 = num
class Num2(Num):
def show(self):
print self.n1
mynumber = Num2(8)
mynumber.show()
परिणाम: 8
यह ठीक है। लेकिन मैं के Num2
साथ बदलें
class Num2(Num):
def __init__(self,num):
self.n2 = num*2
def show(self):
print self.n1,self.n2
परिणाम: Error. Num2 has no attribute "n1".
इस मामले में, कैसे Num2
पहुंच सकते हैं n1
?
__init__
पद्धति को एक व्युत्पन्न वर्ग में परिभाषित नहीं किया जाता है, तो यह विरासत में मिलती है। ऐसा इसलिए है क्योंकि "यदि एक अनुरोधित विशेषता वर्ग में नहीं पाई जाती है, तो खोज बेस क्लास में देखने के लिए आगे बढ़ती है।" (डॉक)