पायथन ट्यूटोरियल

अजगर घर पायथन परिचय पायथन आरंभ करें पायथन सिंटेक्स पायथन टिप्पणियाँ पायथन वेरिएबल्स पायथन डेटा प्रकार अजगर संख्या पायथन कास्टिंग पायथन स्ट्रिंग्स पायथन बूलियन्स पायथन ऑपरेटर्स पायथन सूचियाँ पायथन टुपल्स पायथन सेट पायथन डिक्शनरी अजगर अगर... और पाइथन जबकि लूप्स लूप्स के लिए पायथन पायथन कार्य अजगर लैम्ब्डा पायथन एरेज़ पायथन क्लासेस/ऑब्जेक्ट्स पायथन इनहेरिटेंस पायथन इटरेटर्स पायथन स्कोप पायथन मॉड्यूल अजगर तिथियाँ पायथन मठ पायथन JSON पायथन रेगेक्स पायथन पीआईपी अजगर का प्रयास करें... को छोड़कर पायथन उपयोगकर्ता इनपुट पायथन स्ट्रिंग स्वरूपण

फ़ाइल रखरखाव

पायथन फ़ाइल हैंडलिंग पायथन फ़ाइलें पढ़ें पायथन लिखें/फाइलें बनाएं पायथन फ़ाइलें हटाएं

पायथन मॉड्यूल

न्यूमपी ट्यूटोरियल पांडा वॉकथ्रू स्काइप ट्यूटोरियल

पायथन माटप्लोटलिब

माटप्लोटलिब परिचय माटप्लोटलिब आरंभ करें माटप्लोटलिब पाइप्लॉट माटप्लोटलिब प्लॉटिंग माटप्लोटलिब मार्कर माटप्लोटलिब लाइन माटप्लोटलिब लेबल माटप्लोटलिब ग्रिड माटप्लोटलिब सबप्लॉट्स माटप्लोटलिब स्कैटर माटप्लोटलिब बार्स माटप्लोटलिब हिस्टोग्राम Matplotlib पाई चार्ट

यंत्र अधिगम

शुरू करना मध्यमान मध्यम मोड मानक विचलन प्रतिशतता डेटा वितरण सामान्य डेटा वितरण स्कैटर प्लॉट रेखीय प्रतिगमन बहुपद प्रतिगमन बहु - प्रतिगमन स्केल ट्रेन / टेस्ट निर्णय वृक्ष

पायथन मायएसक्यूएल

MySQL प्रारंभ करें MySQL डेटाबेस बनाएँ MySQL तालिका बनाएँ MySQL सम्मिलित करें MySQL चुनें MySQL कहाँ MySQL ऑर्डर बाय MySQL हटाएं MySQL ड्रॉप टेबल MySQL अद्यतन MySQL सीमा मायएसक्यूएल जॉइन

पायथन मोंगोडीबी

मोंगोडीबी आरंभ करें MongoDB डेटाबेस बनाएँ MongoDB संग्रह बनाएँ मोंगोडीबी डालें मोंगोडीबी खोजें मोंगोडीबी क्वेरी मोंगोडीबी सॉर्ट मोंगोडीबी हटाएं MongoDB ड्रॉप संग्रह मोंगोडीबी अपडेट मोंगोडीबी सीमा

पायथन संदर्भ

पायथन अवलोकन पायथन बिल्ट-इन फंक्शन्स पायथन स्ट्रिंग तरीके पायथन सूची के तरीके पायथन डिक्शनरी के तरीके पायथन टुपल तरीके पायथन सेट मेथड्स पायथन फ़ाइल तरीके पायथन कीवर्ड पायथन अपवाद पायथन शब्दावली

मॉड्यूल संदर्भ

यादृच्छिक मॉड्यूल अनुरोध मॉड्यूल सांख्यिकी मॉड्यूल गणित मॉड्यूल सीमैथ मॉड्यूल

पायथन कैसे करें

सूची डुप्लिकेट निकालें एक स्ट्रिंग को उल्टा करें दो नंबर जोड़ें

पायथन उदाहरण

पायथन उदाहरण पायथन कंपाइलर अजगर व्यायाम अजगर प्रश्नोत्तरी पायथन प्रमाणपत्र

पायथन इटरेटर्स


पायथन इटरेटर्स

एक पुनरावर्तक एक वस्तु है जिसमें मूल्यों की एक गणनीय संख्या होती है।

एक पुनरावर्तक एक वस्तु है जिसे पुनरावृत्त किया जा सकता है, जिसका अर्थ है कि आप सभी मूल्यों के माध्यम से पार कर सकते हैं।

तकनीकी रूप से, पायथन में, एक इटरेटर एक ऑब्जेक्ट है जो इटरेटर प्रोटोकॉल को लागू करता है, जिसमें विधियों __iter__() और __next__().


Iterator बनाम Iterable

सूचियाँ, टुपल्स, शब्दकोश और सेट सभी चलने योग्य वस्तुएँ हैं। वे चलने योग्य कंटेनर हैं जिनसे आप एक पुनरावर्तक प्राप्त कर सकते हैं।

इन सभी वस्तुओं में एक iter()विधि है जिसका उपयोग पुनरावर्तक प्राप्त करने के लिए किया जाता है:

उदाहरण

टुपल से एक पुनरावर्तक लौटाएं, और प्रत्येक मान को प्रिंट करें:

mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)

print(next(myit))
print(next(myit))
print(next(myit))

यहां तक ​​​​कि तार भी चलने योग्य वस्तुएं हैं, और एक पुनरावर्तक वापस कर सकते हैं:

उदाहरण

स्ट्रिंग्स भी चलने योग्य वस्तुएं हैं, जिनमें वर्णों का अनुक्रम होता है:

mystr = "banana"
myit = iter(mystr)

print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))

एक इटरेटर के माध्यम से लूपिंग

हम forएक पुनरावृत्त वस्तु के माध्यम से पुनरावृति करने के लिए लूप का उपयोग भी कर सकते हैं:

उदाहरण

एक टपल के मूल्यों को पुनरावृत्त करें:

mytuple = ("apple", "banana", "cherry")

for x in mytuple:
  print(x)

उदाहरण

एक स्ट्रिंग के पात्रों को पुनरावृत्त करें:

mystr = "banana"

for x in mystr:
  print(x)

लूप वास्तव में forएक इटरेटर ऑब्जेक्ट बनाता है और प्रत्येक लूप के लिए अगली () विधि निष्पादित करता है।



एक इटरेटर बनाएं

एक वस्तु/वर्ग को एक पुनरावर्तक के रूप में बनाने के लिए आपको विधियों __iter__()और __next__()अपनी वस्तु को लागू करना होगा।

जैसा कि आपने पायथन क्लासेस/ऑब्जेक्ट्स चैप्टर में सीखा है, सभी क्लासेस में एक फंक्शन होता है , जिसे कहा जाता है __init__(), जो आपको ऑब्जेक्ट बनाते समय कुछ इनिशियलाइज़ करने की अनुमति देता है।

विधि समान कार्य करती है , __iter__()आप संचालन (प्रारंभ करना आदि) कर सकते हैं, लेकिन हमेशा पुनरावर्तक ऑब्जेक्ट को वापस करना होगा।

विधि आपको संचालन करने की __next__()भी अनुमति देती है, और अनुक्रम में अगला आइटम वापस करना होगा।

उदाहरण

एक पुनरावर्तक बनाएं जो 1 से शुरू होकर संख्याएं लौटाता है, और प्रत्येक अनुक्रम एक से बढ़ जाएगा (1,2,3,4,5 आदि लौटाते हुए):

class MyNumbers:
  def __iter__(self):
    self.a = 1
    return self

  def __next__(self):
    x = self.a
    self.a += 1
    return x

myclass = MyNumbers()
myiter = iter(myclass)

print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))

स्टॉप इटरेशन

उपरोक्त उदाहरण हमेशा के लिए जारी रहेगा यदि आपके पास पर्याप्त अगला() कथन था, या यदि इसे forलूप में उपयोग किया गया था।

पुनरावृत्ति को हमेशा के लिए चलने से रोकने के लिए, हम StopIterationकथन का उपयोग कर सकते हैं।

विधि में __next__(), हम एक त्रुटि उत्पन्न करने के लिए एक समाप्ति स्थिति जोड़ सकते हैं यदि पुनरावृत्ति एक निर्दिष्ट संख्या में की जाती है:

उदाहरण

20 पुनरावृत्तियों के बाद रुकें:

class MyNumbers:
  def __iter__(self):
    self.a = 1
    return self

  def __next__(self):
    if self.a <= 20:
      x = self.a
      self.a += 1
      return x
    else:
      raise StopIteration

myclass = MyNumbers()
myiter = iter(myclass)

for x in myiter:
  print(x)