जवाबों:
हां, वे पूरी तरह से अलग चीजें करते हैं। pass
बस कुछ नहीं करता है, जबकि continue
अगले लूप पुनरावृत्ति के साथ चलता है। आपके उदाहरण में, अंतर स्पष्ट हो जाता है यदि आप के बाद एक और बयान जोड़ते हैं if
: निष्पादित करने के बाद pass
, इस आगे के बयान को निष्पादित किया जाएगा। के बाद continue
, यह नहीं होगा।
>>> a = [0, 1, 2]
>>> for element in a:
... if not element:
... pass
... print element
...
0
1
2
>>> for element in a:
... if not element:
... continue
... print element
...
1
2
pass
कीवर्ड कुछ भी नहीं करता है, यह केवल तब उपयोगी होता है जब आपको सिंटैक्टली सुइट की आवश्यकता होती है, लेकिन आप कुछ भी नहीं करना चाहते। एक सामान्य उदाहरण यदि आप कुछ अपवादों को अनदेखा करना चाहते हैं, तो आप उपयोग करते हैं except SomeException: pass
। कई अन्य उपयोग के मामले भी हैं। इसके लिए आपको कड़ाई से किसी कीवर्ड की आवश्यकता नहीं होगी, क्योंकि आप किसी भी अन्य कथन का उपयोग कर सकते हैं, जो कुछ भी नहीं करता है (जैसे 0
एक पूरी तरह से मान्य कथन है जिसका कोई प्रभाव नहीं है), लेकिन इसके लिए एक कीवर्ड होना आपको अनुमति देता है कुछ भी नहीं करने के बारे में अधिक स्पष्ट।
pass
?
हां, वहां एक अंतर है। continue
लूप को अगले पुनरावृत्ति पर शुरू करने के लिए मजबूर करता है, जबकि pass
इसका मतलब है "यहाँ निष्पादित करने के लिए कोई कोड नहीं है" और शेष या लूप बॉडी के माध्यम से जारी रहेगा।
इन्हें चलाएं और अंतर देखें:
for element in some_list:
if not element:
pass
print 1 # will print after pass
for element in some_list:
if not element:
continue
print 1 # will not print after continue
आपके उदाहरण में, कोई अंतर नहीं होगा, क्योंकि दोनों कथन लूप के अंत में दिखाई देते हैं। pass
बस एक प्लेसहोल्डर है, इसमें वह कुछ भी नहीं करता है (यह अगले बयान के लिए निष्पादन को पारित करता है )। continue
दूसरी ओर, इसका एक निश्चित उद्देश्य है: यह लूप को जारी रखने के लिए कहता है जैसे कि यह अभी शुरू हुआ था।
for element in some_list:
if not element:
pass
print element
से बहुत अलग है
for element in some_list:
if not element:
continue
print element
उनके बीच एक अंतर है, continue
लूप की वर्तमान पुनरावृत्ति को छोड़ देता है और अगले पुनरावृत्ति को निष्पादित करता है। pass
कुछ नहीं करता। यह एक खाली स्टेटमेंट प्लेसहोल्डर है।
मैं आपको एक उदाहरण देना चाहूंगा, जो इसे और बेहतर तरीके से स्पष्ट करेगा।
>>> for element in some_list:
... if element == 1:
... print "Pass executed"
... pass
... print element
...
0
Pass executed
1
2
>>> for element in some_list:
... if element == 1:
... print "Continue executed"
... continue
... print element
...
0
Continue executed
2
हां, वहां एक अंतर है। Continue
वास्तव में लूप के वर्तमान पुनरावृत्ति के शेष को छोड़ देता है (शुरुआत में वापस)।Pass
एक खाली बयान है जो कुछ नहीं करता है।
अजगर डॉक्स देखें
उन उदाहरणों में, नहीं। यदि कथन लूप में बहुत अंतिम नहीं है , तो उनके बहुत अलग प्रभाव हैं।
पास के लिए अंतर और लूप के लिए जारी है:
तो अजगर में पास क्यों?
यदि आप एक खाली वर्ग, विधि या ब्लॉक बनाना चाहते हैं।
उदाहरण:
class MyException(Exception):
pass
try:
1/0
except:
pass
उपरोक्त उदाहरणों में 'पास' के बिना IndentationError फेंक देंगे।
x = [1,2,3,4]
for i in x:
if i==2:
pass #Pass actually does nothing. It continues to execute statements below it.
print "This statement is from pass."
for i in x:
if i==2:
continue #Continue gets back to top of the loop.And statements below continue are executed.
print "This statement is from continue."
आउटपुट है
>>> This statement is from pass.
फिर से, मामूली परिवर्तनों के साथ समान कोड चलाएं।
x = [1,2,3,4]
for i in x:
if i==2:
pass #Pass actually does nothing. It continues to execute statements below it.
print "This statement is from pass."
for i in x:
if i==2:
continue #Continue gets back to top of the loop.And statements below continue are executed.
print "This statement is from continue."
आउटपुट है -
>>> This statement is from pass.
This statement is from pass.
This statement is from pass.
This statement is from pass.
This statement is from continue.
This statement is from continue.
This statement is from continue.
पास कुछ भी नहीं करता है। अभिकलन अप्रभावित है। लेकिन जारी रखें अगली गणना के साथ आगे बढ़ने के लिए लूप के शीर्ष पर वापस जाएं।
इस तरह से विचार करें:
उत्तीर्ण करना: पायथन शुद्ध रूप से इंडेंटेशन पर काम करता है! अन्य भाषाओं के विपरीत कोई खाली घुंघराले ब्रेसिज़ नहीं हैं।
इसलिए, यदि आप चाहते हैं कि यदि कोई शर्त सही है तो पास के अलावा कोई विकल्प नहीं है।
जारी रखें: यह केवल लूप के मामले में उपयोगी है। यदि मानों की एक श्रृंखला के लिए, आप लूप के शेष कथनों को निष्पादित नहीं करना चाहते हैं, तो उस विशेष पास के लिए शर्त सही है, तो आपको जारी रखना होगा।
pass
अगर एक स्टेटमेंट का उपयोग करें True
और यदि यह है तो ऑपरेशन करें False
। यह बहुउद्देश्यीय सूचियों की कुशल स्कैनिंग के लिए अनुमति देता है।
pass
भविष्य के कार्यान्वयन के लिए कुछ खाली फ़ंक्शंस, क्लासेस या लूप्स की आवश्यकता होने पर परिदृश्यों में उपयोग किया जा सकता है, और किसी भी कोड को निष्पादित करने की आवश्यकता नहीं है।
continue
परिदृश्य में प्रयोग किया जाता है जब कोई स्थिति नहीं है जब एक लूप के भीतर मिले हैं और आपको वर्तमान पुनरावृत्ति को छोड़ना होगा और अगले एक पर जाना होगा।
while True:; pass # Busy-wait for keyboard interrupt (Ctrl+C)
में अजगर डॉक्स मुझे रास्ते में उलझन में है कि मैं यह स्पष्ट मौसम नहीं मिला यह इस मामले या कुछ और करना था में जारी रखने के लिए बराबर व्यवहार करता है। पहला वाक्य "पास स्टेटमेंट कुछ नहीं करता है।" मेरे प्रश्न के सभी उत्तरों को चिह्नित करता है, लेकिन किसी तरह इसने मेरी आंख को नहीं पकड़ा।