__iter__()方法
时间: 2023-10-25 19:04:34 浏览: 113
__iter__()方法是一个特殊的方法,用于定义一个可迭代对象。在Python中,可迭代对象是指具有__iter__()方法的对象,该方法返回一个迭代器对象。迭代器对象可以使用for循环来遍历可迭代对象的元素。
__iter__()方法需要返回一个实现了__next__()方法的迭代器对象。__next__()方法负责返回可迭代对象中的下一个元素,并在没有更多元素可供迭代时引发StopIteration异常。
下面是一个简单的示例,演示了如何使用__iter__()方法创建一个可迭代对象和迭代器对象:
```python
class MyIterable:
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_iterable = MyIterable([1, 2, 3, 4, 5])
# 使用for循环遍历可迭代对象
for item in my_iterable:
print(item)
```
输出:
```
1
2
3
4
5
```
在上面的示例中,MyIterable类实现了__iter__()方法和__next__()方法,使其成为一个可迭代对象和迭代器对象。在for循环中,通过调用__iter__()方法获取迭代器对象,然后反复调用迭代器对象的__next__()方法来获取下一个元素,直到StopIteration异常被引发,表示没有更多的元素可供迭代。
阅读全文