Python迭代器iterator
时间: 2023-08-14 08:31:48 浏览: 90
Python的迭代器(iterator)是一种可以遍历容器中元素的对象,它可以在遍历时不必创建完整的容器对象,从而节省内存空间。
要创建一个迭代器对象,必须实现两个方法:`__iter__()` 和 `__next__()`。
`__iter__()` 方法返回迭代器对象本身,这个方法在 for 循环中会被自动调用。
`__next__()` 方法返回容器的下一个元素,在遍历到容器末尾时,抛出 StopIteration 异常。
以下是一个迭代器的例子,它可以遍历一个字符串中的每个字符:
```python
class MyIterator:
def __init__(self, s):
self.s = s
self.index = 0
def __iter__(self):
return self
def __next__(self):
if self.index == len(self.s):
raise StopIteration
result = self.s[self.index]
self.index += 1
return result
```
使用这个迭代器的示例代码:
```python
my_iterator = MyIterator('hello')
for char in my_iterator:
print(char)
```
输出:
```
h
e
l
l
o
```