x
में प्रत्येक आइटम के माध्यम से आपका पहला उदाहरण दोहराता, स्क्रीन करने के लिए प्रत्येक आइटम मुद्रण। आपका दूसरा उदाहरण x
में प्रत्येक आइटम के माध्यम से फिर से शुरू होता है, लेकिन फिर यह पहला होता है, जो उस बिंदु पर फ़ंक्शन के निष्पादन को समाप्त करता है।
का पहला उदाहरण को करीब से देख लेते हैं:
def list_function(x):
for y in x:
print(y) # Prints y to the screen, then continues on
n = [4, 5, 7]
list_function(n)
समारोह के अंदर, for
पाश x
से अधिक बार-बार दोहराना शुरू हो जाएगा। पहले y
को 4
पर सेट किया गया है, जो मुद्रित है। फिर यह 5
पर सेट किया गया है और मुद्रित किया गया है, फिर 7
और मुद्रित। समारोह के अंदर
def list_function(x):
for y in x:
return y # Returns y, ending the execution of the function
n = [4, 5, 7]
print(list_function(n))
, for
पाश x
से अधिक बार-बार दोहराना शुरू हो जाएगा:
अब दूसरा उदाहरण पर एक नज़र डालें। पहले y
को 4
पर सेट किया गया है, जो लौटा दिया गया है। इस बिंदु पर, फ़ंक्शन का निष्पादन रोक दिया गया है और कॉलर को मान वापस कर दिया गया है। y
कभी भी 5
या 7
पर सेट नहीं किया गया है। स्क्रीन पर कुछ भी प्रिंट करने का एकमात्र कारण यह है कि इसे print list_function(n)
पर कॉल किया जाता है, इसलिए वापसी मूल्य मुद्रित किया जाएगा। यदि आपने इसे पहले उदाहरण में list_function(n)
के साथ बुलाया है, तो स्क्रीन पर कुछ भी मुद्रित नहीं किया जाएगा।
रिटर्न हमेशा एक फ़ंक्शन के निष्पादन को समाप्त करता है। –
यह भी देखें http://stackoverflow.com/q/27502505/4014959 –
मैं इस प्रश्न को उन सभी लोगों के खिलाफ सबूत के रूप में पसंदीदा करने जा रहा हूं जो कहते हैं कि नए प्रोग्रामिंग प्रश्न यहां अच्छी तरह से प्राप्त नहीं हुए हैं या तुरंत डाउनवॉट्स पर ढेर हो जाते हैं। यह बिना किसी डाउनवोट के एक बेहद बुनियादी विषय पर एक अच्छी तरह से लिखित, अच्छी तरह से प्रस्तुत प्रश्न है। –