def __next__(self):
时间: 2023-06-26 10:03:10 浏览: 118
`__next__()` 方法是 Python 中的一个特殊方法,用于迭代器对象。当调用迭代器的 `__next__()` 方法时,它会返回迭代器中的下一个元素。如果没有更多元素可供迭代,它将引发 `StopIteration` 异常。
下面是一个简单的例子,展示了如何使用 `__next__()` 方法来迭代一个列表:
``` python
class MyIterator:
def __init__(self, data):
self.index = 0
self.data = data
def __iter__(self):
return self
def __next__(self):
if self.index >= len(self.data):
raise StopIteration
result = self.data[self.index]
self.index += 1
return result
my_list = [1, 2, 3]
my_iterator = MyIterator(my_list)
for item in my_iterator:
print(item)
```
在这个例子中,我们创建了一个自定义迭代器类 `MyIterator`,它包含了 `__iter__()` 和 `__next__()` 方法。`__iter__()` 方法返回迭代器本身,而 `__next__()` 方法返回迭代器中的下一个元素。在迭代过程中,我们使用 `for` 循环来遍历迭代器中的每个元素,并打印出它们的值。
注意,当我们在迭代过程中到达列表的末尾时,`__next__()` 方法会引发 `StopIteration` 异常,从而结束迭代。这个异常是 Python 中用于表示迭代结束的标准方式。
阅读全文