Python 迭代器 (Iterator)
大家好!今天我们来聊聊Python的迭代器 iterator。
迭代器是一个对象,它可以记住遍历的位置。
迭代器对象从集合的第一个元素开始访问,直到
所有元素被访问完毕。迭代器只能往前迭代,
不会后退。在Python中,迭代器对象需要实现
__iter__()
和 __next__()
两个方法。
__iter__()
方法返回迭代器对象本身。
__next__()
方法返回容器的下一个元素。
当没有更多元素时,__next__()
方法会引发
StopIteration
异常。
简单来说,迭代器是通过类创建的对象, 它提供了一种统一的访问集合元素的方式。
希望这个简单的例子能帮助你理解Python的iterator!
代码示例
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]
my_iterator = MyIterator(my_list)
for item in my_iterator:
print(item)