वास्तविक व्यवहार पर, कोई अंतर नहीं है। वे सभी वापस आ गए None
और यह बात है। हालांकि, इन सभी के लिए एक समय और स्थान है। निम्नलिखित निर्देश मूल रूप से हैं कि विभिन्न तरीकों का उपयोग कैसे किया जाना चाहिए (या कम से कम मुझे कैसे सिखाया जाता था कि उनका उपयोग किया जाना चाहिए), लेकिन वे पूर्ण नियम नहीं हैं, इसलिए यदि आप आवश्यक महसूस करते हैं तो आप उन्हें मिला सकते हैं।
का उपयोग करते हुए return None
यह बताता है कि फ़ंक्शन वास्तव में बाद में उपयोग के लिए एक मूल्य वापस करने के लिए है, और इस मामले में यह वापस आ जाता है None
। यह मान None
तब कहीं और उपयोग किया जा सकता है। return None
यदि फ़ंक्शन से कोई अन्य संभावित वापसी मान नहीं हैं, तो इसका उपयोग कभी नहीं किया जाता है।
निम्न उदाहरण में, हम वापसी person
's mother
अगर person
दिए गए एक मानव है। यदि यह मानव नहीं है, तो हम वापस लौटते हैं None
क्योंकि इसमें person
कोई नहीं है mother
(मान लीजिए कि यह जानवर या कुछ नहीं है)।
def get_mother(person):
if is_human(person):
return person.mother
else:
return None
का उपयोग करते हुए return
इसका उपयोग break
लूप में उसी कारण से किया जाता है। वापसी मूल्य कोई फर्क नहीं पड़ता है और आप केवल पूरे फ़ंक्शन से बाहर निकलना चाहते हैं। यह कुछ जगहों पर बेहद उपयोगी है, भले ही आपको इसकी आवश्यकता न हो।
हमें 15 मिले हैं prisoners
और हम जानते हैं कि उनमें से एक के पास चाकू है। हम prisoner
एक - एक करके यह जांचते हैं कि उनके पास चाकू है या नहीं। यदि हम उस व्यक्ति को चाकू से मारते हैं, तो हम केवल फ़ंक्शन से बाहर निकल सकते हैं क्योंकि हम जानते हैं कि केवल एक चाकू है और बाकी का कोई कारण नहीं है prisoners
। यदि हमें prisoner
चाकू नहीं मिलता है , तो हम एक चेतावनी देते हैं। यह कई अलग-अलग तरीकों से किया जा सकता है और इसका उपयोग return
करना शायद सबसे अच्छा तरीका भी नहीं है, लेकिन यह सिर्फ एक उदाहरण है कि return
किसी समारोह से बाहर निकलने के लिए कैसे उपयोग किया जाए।
def find_prisoner_with_knife(prisoners):
for prisoner in prisoners:
if "knife" in prisoner.items:
prisoner.move_to_inquisition()
return # no need to check rest of the prisoners nor raise an alert
raise_alert()
नोट: आपको कभी भी ऐसा नहीं करना चाहिए var = find_prisoner_with_knife()
, क्योंकि रिटर्न वैल्यू पकड़े जाने का मतलब नहीं है।
return
बिल्कुल नहीं का उपयोग करना
यह भी वापस आ जाएगा None
, लेकिन उस मूल्य का उपयोग या पकड़े जाने का मतलब नहीं है। इसका सीधा सा मतलब है कि फ़ंक्शन सफलतापूर्वक समाप्त हो गया। यह मूल रूप से की तरह ही है return
में void
इस तरह के सी ++ या जावा जैसी भाषाओं में कार्य करता है।
निम्नलिखित उदाहरण में, हम व्यक्ति की माँ का नाम निर्धारित करते हैं और फिर कार्य सफलतापूर्वक पूरा करने के बाद बाहर निकलता है।
def set_mother(person, mother):
if is_human(person):
person.mother = mother
नोट: आपको कभी भी ऐसा नहीं करना चाहिए var = set_mother(my_person, my_mother)
, क्योंकि रिटर्न वैल्यू पकड़े जाने का मतलब नहीं है।
return None
मेरा तात्पर्य यह है कि फ़ंक्शन का कभी-कभी एक गैर-None
वापसी मान होता है, लेकिन इसके स्थान परreturn None
, ऐसा कोई वापसी मान नहीं होता है।return
मेरे लिए बिल्कुल भी नहीं लिखने का अर्थ है कि एक दिलचस्प रिटर्न वैल्यू, "फ़ंक्शन" के विपरीत "प्रक्रिया" की तरह थोड़े।return
तात्पर्य पिछले बिंदु के अनुसार एक "प्रक्रिया" से पहले से मौजूद है।