अजगर की नई type hinting को हमें यह टाइप करने के लिए संकेत एक फ़ंक्शन कि None
की अनुमति देता है ...प्रकार संकेत है कि एक समारोह कभी नहीं देता है
def some_func() -> None:
pass
... या वापसी प्रकार अनिर्दिष्ट छोड़ने के लिए है, जो पीईपी तय करना चाहिए ग्रहण करने के लिए है कि किसी भी वापसी प्रकार संभव है स्थिर विश्लेषक का कारण:
एनोटेशन के बिना किसी भी समारोह सबसे सामान्य प्रकार संभव होने के रूप में व्यवहार किया जाना चाहिए
हालांकि, मैं कैसे संकेत, जो फ़ंक्शन रिटर्न कभी नहीं होगा टाइप करना चाहिए? उदाहरण के लिए, इन दो कार्यों के वापसी मूल्य को संकेत देने का सही तरीका क्या है?
def loop_forever():
while True:
print('This function never returns because it loops forever')
def always_explode():
raise Exception('This function never returns because it always raises')
न तो निर्दिष्ट करने -> None
है और न ही वापसी प्रकार अनिर्दिष्ट छोड़ने इन मामलों में सही लगता है।
जूलियन और मुझे पीईपी 484 में 'नोरेटर्न' प्रकार को नज़रअंदाज़ करने के लिए शायद माफ कर दिया जा सकता है जब मैंने जुलाई 2016 में इस सवाल से पूछा कि यह अभी तक अस्तित्व में नहीं है और इसे पीईपी में तब तक नहीं जोड़ा जाएगा जब तक [लगभग एक साल बाद] (https://github.com/python/peps/commit/881c6bebdb79d3a51dea0a467e81abed410e5570)। फिर भी, हाँ, ऐसा लगता है कि यह अब सही जवाब है। –
वाह! इसलिए अपडेट तीन साल के दस्तावेज़ के लिए आज के लिए काफी ताजा है लेकिन इसमें [पीईपी 0] (https://www.python.org/dev/peps/) जैसे "अंतिम संशोधित" जैसे शीर्षलेख की कमी है। साथ ही, अब यह मुझे संकेत देता है कि क्यों मेरा आईडीई 'टाइपिंग' से' NoReturn' प्रकार को पहचानता नहीं है, फिर भी रनटाइम के दौरान कोई वास्तविक समस्या नहीं है। – misanthrope