下面是一个简单的示例代码,展示如何实现一个基本的迭代器:
# 定义一个自定义的迭代器类
class MyIterator:
def __init__(self, data):
self.data = data
self.index = 0
def __iter__(self):
return self
def __next__(self):
if self.index >= len(self.data):
raise StopIteration
value = self.data[self.index]
self.index += 1
return value
# 使用自定义迭代器类
my_list = [1, 2, 3, 4, 5]
my_iter = MyIterator(my_list)
for num in my_iter:
print(num)
在上面的示例代码中,我们定义了一个名为MyIterator
的自定义迭代器类,该类包含__iter__
和__next__
两个方法。__iter__
方法返回迭代器对象本身,而__next__
方法返回下一个迭代器的值。当迭代器无法提供更多的值时,通过抛出StopIteration
异常来停止迭代。
在使用自定义迭代器时,我们首先实例化一个迭代器对象,然后可以通过for
循环遍历迭代器对象,依次获取每个元素并进行处理。
希望这个示例能帮助你更好地理解迭代器的实现。