एक ही रास्ता है ए के कन्स्ट्रक्टर को कॉल करने और self
को एक तर्क के रूप में पास करने के लिए,
class B(A):
def __init__(self):
A.__init__(self)
print "hello"
इस शैली का लाभ यह है कि यह बहुत स्पष्ट है। यह ए के कन्स्ट्रक्टर को कॉल करता है। नकारात्मकता यह है कि यह हीरे के आकार की विरासत को बहुत अच्छी तरह से संभाल नहीं पाती है, क्योंकि आप साझा बेस क्लास के कन्स्ट्रक्टर को दो बार कॉल करना समाप्त कर सकते हैं।
अन्य तरीका सुपर() का उपयोग करना है, जैसा कि अन्य ने दिखाया है। एकल विरासत के लिए, यह मूल रूप से वही बात करता है जैसे आप माता-पिता के निर्माता को कॉल करते हैं।
हालांकि, सुपर() काफी हद तक जटिल है और कभी-कभी कई विरासत स्थितियों में प्रति-सहज हो सकता है। प्लस तरफ, सुपर() हीरा के आकार की विरासत को संभालने के लिए इस्तेमाल किया जा सकता है। यदि आप सुपर() करते हैं, तो मुझे पता है कि सुपर() काम कितना सुपर() काम करता है, here (हालांकि मैं उस लेख की राय का समर्थन नहीं कर रहा हूं) के बारे में जानना चाहता हूं।
स्रोत
2010-03-08 05:01:49
[पाइथन में चेन-कॉलिंग पेरेंट कन्स्ट्रक्टर] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/904036/chain-calling-parent-constructors-in-python) –