在Python中,迭代器是一个实现了__iter__()
和__next__()
方法的对象。__iter__()
方法返回迭代器对象本身,而__next__()
方法返回容器的下一个值。当容器中没有更多元素时,__next__()
方法会抛出StopIteration
异常。
要实现一个迭代器,你需要定义一个类,并在其中实现这两个方法。下面是一个简单的例子,实现了一个计数器迭代器:
class Counter: def __init__(self, start, end): self.start = start self.end = end def __iter__(self): return self def __next__(self): if self.start >= self.end: raise StopIteration else: self.start += 1 return self.start - 1 # 使用计数器迭代器 counter = Counter(1, 6) for num in counter: print(num)
在这个例子中,Counter
类实现了__iter__()
和__next__()
方法,使其成为一个迭代器。当我们使用for
循环遍历counter
对象时,__next__()
方法会逐个返回容器中的元素,直到抛出StopIteration
异常,表示遍历结束。