python迭代器详解 - wangcoo - 博客园 (cnblogs.com)
其实在执行 for
循环时,实际执行流程是这样的:
for i in a
相当于执行iter(a)
- 每次迭代时会执行一次
__next__
方法,返回一个值 - 如果没有可迭代的数据,抛出
StopIteration
异常,for
会停止迭代
但是请注意,当我们迭代完 for i in a
时,如果再次执行迭代,将不会有任何数据输出。
别人的观点
python迭代器详解 - wangcoo - 博客园 (cnblogs.com)
其实在执行 for
循环时,实际执行流程是这样的:
for i in a
相当于执行 iter(a)
__next__
方法,返回一个值StopIteration
异常,for
会停止迭代但是请注意,当我们迭代完 for i in a
时,如果再次执行迭代,将不会有任何数据输出。
别人的观点