सामान्य रूप से, क्या __new__
विधि से कोई भी वापस लौटने के लिए उचित नहीं है यदि कक्षा के उपयोगकर्ता को पता है कि कभी-कभी निर्माता किसी का मूल्यांकन नहीं करेगा?क्या यह वापस करना ठीक है __new__ से कोई नहीं?
प्रलेखन यह अवैध नहीं है, और मुझे कोई तत्काल समस्या नहीं दिखाई दे रही है (क्योंकि __init__
को कॉल नहीं किया जा रहा है, कोई भी प्रश्न में कस्टम क्लास का उदाहरण नहीं है!)।
class MyNumber(int):
def __new__(cls, value): # value is a string (usually) parsed from a file
if value == 'N.A.':
return None
return int.__new__(cls, value)
या इसके बजाय, यह _will_ काम करता है। परिणाम के साथ लगभग कुछ भी दिलचस्प करने का प्रयास _will not_। लेकिन यह शायद बिंदु का हिस्सा है। – aaronasterling