कई पायथन प्रोग्रामर शायद इस बात से अनजान हैं कि while
लूप और for
लूप के सिंटैक्स में एक वैकल्पिक else:
क्लॉज शामिल है:
for val in iterable:
do_something(val)
else:
clean_up()
else
क्लॉज का शरीर कुछ प्रकार के सफाई-कार्यों के लिए एक अच्छी जगह है, और लूप की सामान्य समाप्ति पर निष्पादित किया जाता है: यानी, क्लॉज के साथ लूप को बाहर निकालना return
या break
छोड़ देना else
; continue
इसे निष्पादित करने के बाद बाहर निकलना । मैं यह जानता हूँ क्योंकि मैं सिर्फ यह देखा अप (एक बार फिर), क्योंकि मुझे याद है कभी नहीं हो सकता जबelse
खंड निष्पादित किया जाता है।
हमेशा? लूप की "विफलता" पर, जैसा कि नाम से पता चलता है? नियमित समाप्ति पर? भले ही पाश के साथ बाहर निकलता है return
? मैं इसे देखे बिना पूरी तरह से निश्चित नहीं हो सकता।
मैं कीवर्ड की पसंद पर अपनी निरंतर अनिश्चितता को दोषी ठहराता हूं: मुझे else
इस शब्दार्थ के लिए अविश्वसनीय रूप से असम्मानजनक लगता है । मेरा सवाल यह नहीं है कि "इस उद्देश्य के लिए इस कीवर्ड का उपयोग क्यों किया जाता है" (जो कि मैं शायद जवाब देने और टिप्पणियों को पढ़ने के बाद ही बंद करूंगा), लेकिन मैं else
कीवर्ड के बारे में कैसे सोच सकता हूं ताकि इसके शब्दार्थ समझ में आएं, और मैं इसलिए इसे याद कर सकते हैं?
मुझे यकीन है कि इस बारे में उचित मात्रा में चर्चा हुई थी, और मैं कल्पना कर सकता हूं कि try
बयान के else:
खंड (जो मुझे भी देखना है) के साथ संगतता के लिए पसंद किया गया था , और लक्ष्य की सूची में नहीं जोड़ने के लक्ष्य के साथ पायथन के आरक्षित शब्द। शायद चुनने के कारणों से else
इसके कार्य को स्पष्ट किया जाएगा और इसे और अधिक यादगार बनाया जा सकता है, लेकिन मैं नाम को कार्य से जोड़ने के बाद हूं, न कि ऐतिहासिक स्पष्टीकरण के बाद।
इस प्रश्न के उत्तर , जो कि मेरा प्रश्न संक्षिप्त रूप से एक डुप्लिकेट के रूप में बंद था, में बहुत सारी दिलचस्प कहानी है। मेरे प्रश्न का एक अलग ध्यान केंद्रित है ( else
कीवर्ड विकल्प के साथ विशिष्ट शब्दार्थ को कैसे जोड़ा जाए ), लेकिन मुझे लगता है कि इस प्रश्न का लिंक कहीं न कहीं होना चाहिए।
else
मूल रूप से इसका मतलब है, "अगर निरंतरता की स्थिति विफल हो जाती है"। लूप के लिए एक पारंपरिक में, निरंतरता की स्थिति आम तौर पर होती है i < 42
, इस स्थिति में, आप उस भाग को देख सकते हैंif i < 42; execute the loop body; else; do that other thing
break
। विहित उपयोग मामला तब होता है जब लूप किसी चीज की खोज करता है, और जब वह पाता है तो टूट जाता है। कुछ न मिलने पर else
ही अंजाम दिया जाता है।