迭代器模式python
时间: 2023-11-09 11:01:07 浏览: 87
迭代器模式
迭代器模式是一种行为设计模式,它允许你在不暴露集合底层表现形式(列表、栈和树等)的情况下遍历集合中所有的元素。在 Python 中,迭代器模式可以通过实现 `__iter__()` 和 `__next__()` 方法来实现。
`__iter__()` 方法返回一个迭代器对象,而 `__next__()` 方法返回集合中的下一个元素。当没有更多元素时,`__next__()` 方法应该引发 `StopIteration` 异常。
以下是一个简单的示例,演示如何使用迭代器模式遍历列表中的元素:
```python
class MyList:
def __init__(self, data):
self.data = data
def __iter__(self):
self.index = 0
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 = MyList([1, 2, 3, 4, 5])
for item in my_list:
print(item)
```
输出:
```
1
2
3
4
5
```
阅读全文