尽管阅读了它,但我仍然不太明白 __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/