def __iter__(self):
时间: 2024-12-28 13:34:12 浏览: 4
`def __iter__(self)` 是 Python 中一种特殊的魔术方法 (magic method),它用于迭代(iteration)。当一个类实现了 `__iter__` 方法,那么这个类就可以作为一个可迭代对象,能够被 for 循环等迭代工具遍历。`__iter__` 方法通常会返回一个迭代器(iterator),迭代器负责管理当前所处的位置并提供下一个元素。
例如,在列表、字符串或自定义的数据结构中,如果想要支持逐个访问元素,就会覆盖这个方法来生成一个可以连续返回每个元素的对象。当你调用一个实现了 `__iter__` 的对象的 `iter()` 函数或者直接使用 for 循环时,底层就是通过调用 `__iter__` 来开始迭代过程。
```python
class MyIterable:
def __init__(self, elements):
self.elements = elements
def __iter__(self):
self.index = 0
return self
def __next__(self):
if self.index < len(self.elements):
result = self.elements[self.index]
self.index += 1
return result
else:
raise StopIteration
my_list = MyIterable([1, 2, 3])
for item in my_list:
print(item)
```
阅读全文