python iterator next stop code example
Example 1: python defining the iterator protocol
class RangeTen:
def __init__(self, *args): pass
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)
Example 2: iterator in python
class PowTwo:
"""Class to implement an iterator
of powers 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
numbers = PowTwo(3)
i = iter(numbers)
print(next(i))
print(next(i))
print(next(i))
print(next(i))
print(next(i))