व्याख्या
इटरेटर पायथन में एक ऑब्जेक्ट है जो इटरेशन प्रोटोकॉल को लागू करता है। टपल्स, लिस्ट्स, सेट्स पायथन में इनबिल्ट इटरेटर्स कहलाते हैं। इटरेशन प्रोटोकॉल में दो प्रकार के मेथड होते हैं।
__iter__(): यह मेथड तब कॉल होता है जब हम एक इटरेटर इनिशियलाइज़ करते हैं और यह एक ऑब्जेक्ट लौटाना चाहिए जिसमें next() या __next__() (पायथन 3 में) मेथड हो।
next() या __next__() (पायथन 3 में): यह मेथड इटरेशन सीक्वेंस से अगला एलिमेंट लौटाना चाहिए। जब एक इटरेटर का उपयोग फॉर लूप के साथ किया जाता है तो फॉर लूप सीधे इटरेटर ऑब्जेक्ट पर next() कॉल करता है।
उदाहरण कोड
# कस्टम इटरेटर क्लास बनाना
class Pow_of_Two:
def __init__(self, max=0):
self.max = max
def __iter__(self):
self.n = 0
return self
def __next__(self):
if self.n <= self.max:
result = 2 ** self.n
self.n += 1
return result
else:
raise StopIteration("Message")
a = Pow_of_Two(4)
i = iter(a)
print(i.__next__())
print(next(i))
print(next(i))
print(next(i))
print(next(i))
print(next(i))आउटपुट
1 2 4 8 16 StopIteration error will be raised