在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
異常,表示遍歷結束。