विस्तार करने के लिए मैं एक आधार वर्ग बनाया है:कैसे अजगर वर्ग init
class Thing():
def __init__(self, name):
self.name = name
मैं कक्षा का विस्तार करने और init विधि में जोड़ें ताकि SubThing
दोनों एक name
और एक time
संपत्ति है करना चाहते हैं। मैं यह कैसे करुं?
class SubThing(Thing):
# something here to extend the init and add a "time" property
def __repr__(self):
return '<%s %s>' % (self.name, self.time)
कोई भी मदद शानदार होगी।
'सुपर' में 'सबथिंग' को संदर्भित करने के बजाय, आप 'सुपर (स्वयं .__ वर्ग__, स्वयं) .__ init __ (* args, ** kwargs) कर सकते हैं। यह 'प्रकार() 'का उपयोग करके गतिशील रूप से बनाए गए वर्गों के साथ भी काम करता है। – miki725
मुझे यह त्रुटि उन समाधानों में से किसी एक के साथ मिलती है: 'TypeError: टाइप होना चाहिए, classobj नहीं' - त्रुटि मेरी सुपर लाइन द्वारा ट्रिगर की गई है। – TheChymera
@TheChymera देखें कि जेसी ने क्या लिखा था: "सुनिश्चित करें कि ऑब्जेक्ट से आपकी बेस क्लास सबक्लास है, क्योंकि सुपर पुराने शैली के वर्गों के साथ काम नहीं करेगा" – Acsisr