__next__ python code example
Example: python defining the iterator protocol
class RangeTen:
def __init__(self, *args): pass # optional
def __iter__(self):
'''Initialize the iterator.'''
self.count = -1
return self
def __next__(self):
'''Called for each iteration. Raise StopIteration when done.'''
if self.count < 9:
self.count += 1
return self.count
raise StopIteration
for x in RangeTen():
print(x) # 0, 1, ..., 9