जब विधि श्रृंखलन करने के लिए पायथन के super()
का उपयोग कर, आप स्पष्ट रूप से उदाहरण के लिए, अपने खुद के वर्ग में बताने की:सुपर() का उपयोग करते समय मुझे अपनी खुद की कक्षा क्यों निर्दिष्ट करनी है, और क्या इसके आसपास जाने का कोई तरीका है?
class MyDecorator(Decorator):
def decorate(self):
super(MyDecorator, self).decorate()
मैं super()
लिए एक तर्क के रूप मेरी कक्षा MyDecorator
का नाम निर्दिष्ट करने के लिए है। यह DRY नहीं है। जब मैं अपनी कक्षा का नाम बदलता हूं तो मुझे इसे दो बार बदलना होगा। यह इस तरह से क्यों लागू किया जाता है? और कक्षा के नाम को दो बार (या अधिक) लिखने से बाहर निकलने का कोई तरीका है?
पीईपी के वर्तमान संस्करण से लिंक करें: http://www.python.org/dev/peps/pep-3135/ – sth
'सुपर()' तर्क के बिना * नहीं * पायथन 2.6.1 – jfs
पर काम करता है पीईपी 367 "superceded" किया प्रतीत होता है। मुझे कोई सबूत नहीं दिखता कि यह 2.7 में जोड़ा गया था। मुझे लगता है कि यह एक 3.x- केवल सुविधा है। – Vultaire