__iter__()
时间: 2023-12-17 16:05:22 浏览: 31
__iter__()是一个Python中的魔术方法,用于定义一个对象的迭代器。只要一个对象实现了__iter__()方法,它就可以被称为可迭代对象。可迭代对象可以使用for循环进行遍历,也可以使用内置函数iter()将其转换为迭代器对象。迭代器对象可以使用内置函数next()获取下一个元素,直到没有元素可获取时抛出StopIteration异常。
以下是一个使用__iter__()方法定义迭代器的例子:
```python
class MyIterator:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current < self.end:
value = self.current
self.current += 1
return value
else:
raise StopIteration
# 使用自定义迭代器进行遍历
my_iterator = MyIterator(0, 5)
for i in my_iterator:
print(i)
# 将可迭代对象转换为迭代器进行遍历
my_list = [1, 2, 3, 4, 5]
my_iterator = iter(my_list)
print(next(my_iterator)) # 输出:1
print(next(my_iterator)) # 输出:2
```