मैं समझता हूं कि __init__
और __new__
दोनों काम कैसे करते हैं। मुझे आश्चर्य है कि __init__
कुछ भी है जो __new__
कर सकता है? के रूप में मैं अजगर OO के इस पहलू मेरे सिर में बेहतर फिट करना चाहते हैंपायथन: हमेशा __init__ के बजाय __new__ का उपयोग करें?
class MySubclass(object):
def __new__(cls, *args, **kwargs):
self = super(MySubclass, cls).__new__(cls, *args, **kwargs)
// Do __init__ stuff here
return self
मैं पूछ रहा हूँ:
अर्थात निम्नलिखित पैटर्न द्वारा प्रतिस्थापित किया जा __init__
का उपयोग कर सकते हैं।
संभावित डुप्लिकेट [क्यों परिभाषित '\ _ \ _ new__' और '\ _ \ _ init__' सभी वर्ग में] (http: // stackoverflow।कॉम/प्रश्न/2017876/क्यों-परिभाषित-नई-और-init-all-in-a-class) –
उस विषय पर पुराना प्रश्न: [Python का उपयोग \ _ \ _ new__ और \ _ \ _ init__?] (http://stackoverflow.com/questions/674304/pythons-use-of-new-and-init) –