python - __iter__ 是如何工作的?

标签 python iterator

尽管阅读了它,但我仍然不太明白 __iter__ 是如何工作的。什么是简单的解释?

我见过 def__iter__(self): return self。我看不到它是如何工作的,也不知道它是如何工作的。

最佳答案

简单地说:

__iter__ 在一个类上定义一个方法,该方法将返回一个迭代器(一个连续产生对象包含的下一项的对象)。

__iter__() 返回的迭代器对象几乎可以是任何对象,只要它定义了 next() 方法即可。

next 方法将被 for ... in ... 之类的语句调用以产生下一项,以及 next() 当没有更多项目时应该引发 StopIteration 异常。

这样做的好处在于它让定义你的对象是如何迭代的,__iter__ 提供了一个通用接口(interface),所有其他 python 函数都知道如何使用它。

关于python - __iter__ 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610371/

相关文章:

python - pygame更新不一致

Python:Pandas 在将字典传递给 resample() 后显示 NaN

python - 使用 PyVISA 时出错

c++ - 难以实现 -> 结构取消引用运算符

python - 导入数据显示0000-00-00格式

python - 在Python数据框中创建宏变量

c++ - 如何引用 LLVM 迭代器?

Java - 在迭代时将元素添加到列表中

python - pandas 面板 'iterrows'(遍历长轴)

python - 如何计算可迭代对象中的非空元素?