【发布时间】:2018-04-12 23:31:55
【问题描述】:
查看 Stackoverflow-关于何时引发异常以及何时在 Python 函数中简单地返回 None 的问题时,出现的情况是您应该使用异常处理意外行为,否则返回 None。
然而,可迭代对象上的 for 循环是通过 next() 方法引发的 StopIteration 异常实现的,尽管最终到达可迭代对象的“结束”通常并不意外。为什么 for-loop over iterables 是这样实现的?
【问题讨论】:
-
For 循环遍历迭代器/生成器,而不仅仅是迭代器。所有的迭代器都是可迭代的,但反过来并不总是如此。
标签: python exception error-handling iterator