पायथन इटरेटर बनाएं
एक इटरेटर बनाएं
एक वस्तु/वर्ग को एक पुनरावर्तक के रूप में बनाने के लिए आपको विधियों
__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))