को ध्यान में रखते:अजगर सुपर() विरासत और जरूरत तर्क
class Parent(object):
def altered(self):
print "PARENT altered()"
class Child(Parent):
def altered(self):
print "CHILD, BEFORE PARENT altered()"
super(Child, self).altered() # what are the arguments needed? Why Child and self?
print "CHILD, AFTER PARENT altered()"
अजगर 2.7 में, क्यों Child
super()
कॉल करने के लिए एक तर्क के रूप में पारित किया जाना चाहिए? बस इसे काम करने की बजाय सुपर का उपयोग करने की सटीक जटिलताएं क्या हैं।
जहां तक मुझे पता है, इसे एमआरओ के साथ करना है। लेकिन मैं इसे "वास्तविक" उत्तर के लिए समझाते हुए पर्याप्त नहीं हूं। शायद यह मदद करता है: http://rhettinger.wordpress.com/2011/05/26/super-Considered-super/ नोट हालांकि पाइथन 3 में अब तर्क की आवश्यकता नहीं है। –
तो पहला तर्क "चाइल्ड" है जिस कक्षा में आप हैं, उस व्यक्ति के लिए और जिस व्यक्ति से आप उत्तराधिकारी होना चाहते हैं उसके बाद से माता-पिता आधार है? मुझे लगता है कि कुछ ऐसा लगता है। पढ़ने के लिए भी धन्यवाद और मैं स्पष्ट होने के लिए पायथन 2.7 का उपयोग कर रहा हूं। मैं सुपर() –