पायथन 3 - लूप्स
सामान्य तौर पर, बयानों को क्रमिक रूप से निष्पादित किया जाता है - किसी फ़ंक्शन में पहला कथन पहले निष्पादित किया जाता है, उसके बाद दूसरा, और इसी तरह। ऐसी स्थिति हो सकती है जब आपको कई बार कोड के ब्लॉक को निष्पादित करने की आवश्यकता होती है।
प्रोग्रामिंग भाषाएं विभिन्न नियंत्रण संरचनाएं प्रदान करती हैं जो अधिक जटिल निष्पादन पथ की अनुमति देती हैं।
एक लूप स्टेटमेंट हमें कई बार स्टेटमेंट या स्टेटमेंट ऑफ स्टेट को निष्पादित करने की अनुमति देता है। निम्नलिखित आरेख एक लूप स्टेटमेंट दिखाता है -
पायथन प्रोग्रामिंग भाषा लूपिंग आवश्यकताओं को संभालने के लिए निम्न प्रकार के लूप प्रदान करती है।
अनु क्रमांक। | लूप प्रकार और विवरण |
---|---|
1 | घुमाव के दौरान किसी कथन या कथन का समूह दोहराता है जबकि दी गई स्थिति TRUE है। यह लूप बॉडी को निष्पादित करने से पहले स्थिति का परीक्षण करता है। |
2 | पाश के लिए कई बार बयानों का क्रम निष्पादित करता है और कोड को संक्षिप्त करता है जो लूप चर का प्रबंधन करता है। |
3 | स्थिर फंदा आप एक या अधिक लूप का उपयोग किसी अन्य के अंदर, या लूप के लिए कर सकते हैं। |
लूप नियंत्रण विवरण
लूप नियंत्रण बयान अपने सामान्य अनुक्रम से निष्पादन को बदलते हैं। जब निष्पादन एक गुंजाइश छोड़ देता है, तो उस दायरे में बनाए गए सभी स्वचालित ऑब्जेक्ट नष्ट हो जाते हैं।
पायथन निम्नलिखित नियंत्रण कथनों का समर्थन करता है।
अनु क्रमांक। | नियंत्रण विवरण और विवरण |
---|---|
1 | तोड़ बयान लूप स्टेटमेंट को समाप्त करता है और लूप के तुरंत बाद स्टेटमेंट को ट्रांसफर करता है। |
2 | जारी रखें बयान लूप को उसके शरीर के शेष हिस्से को छोड़ने और दोहराने से पहले अपनी स्थिति को तुरंत फिर से लेने का कारण बनता है। |
3 | बयान दर्ज करें पायथन में पास स्टेटमेंट का उपयोग तब किया जाता है जब किसी स्टेटमेंट को वाक्यविन्यास की आवश्यकता होती है लेकिन आप नहीं चाहते हैं कि कोई कमांड या कोड निष्पादित हो। |
आइए हम संक्षेप में लूप नियंत्रण कथनों के माध्यम से चलते हैं।
Iterator और जनरेटर
Iteratorएक वस्तु है जो किसी प्रोग्रामर को किसी संग्रह के सभी तत्वों के माध्यम से उसके विशिष्ट कार्यान्वयन की परवाह किए बिना पार करने की अनुमति देती है। पायथन में, एक इट्रेटर ऑब्जेक्ट दो विधियों को लागू करता है,iter() तथा next()।
स्ट्रिंगर, लिस्ट या टपल ऑब्जेक्ट्स का उपयोग इटरेटर बनाने के लिए किया जा सकता है।
list = [1,2,3,4]
it = iter(list) # this builds an iterator object
print (next(it)) #prints next available element in iterator
Iterator object can be traversed using regular for statement
!usr/bin/python3
for x in it:
print (x, end=" ")
or using next() function
while True:
try:
print (next(it))
except StopIteration:
sys.exit() #you have to import sys module for this
ए generator एक ऐसा कार्य है जो उपज विधि का उपयोग करके मूल्यों के अनुक्रम का उत्पादन या पैदावार करता है।
जब एक जनरेटर फ़ंक्शन कहा जाता है, तो यह फ़ंक्शन के निष्पादन की शुरुआत के बिना एक जनरेटर ऑब्जेक्ट देता है। जब अगली () विधि को पहली बार कॉल किया जाता है, तो फ़ंक्शन तब तक निष्पादित करना शुरू कर देता है जब तक कि वह उपज स्टेटमेंट तक नहीं पहुंच जाता है, जो उपज का मूल्य लौटाता है। पैदावार पर नज़र रखता है यानी अंतिम निष्पादन को याद रखता है और दूसरा अगला () कॉल पिछले मूल्य से जारी है।
उदाहरण
निम्नलिखित उदाहरण एक जनरेटर को परिभाषित करता है, जो सभी फाइबोनैचि संख्याओं के लिए एक पुनरावृत्ति उत्पन्न करता है।
#!usr/bin/python3
import sys
def fibonacci(n): #generator function
a, b, counter = 0, 1, 0
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1
f = fibonacci(5) #f is iterator object
while True:
try:
print (next(f), end=" ")
except StopIteration:
sys.exit()