有人可以帮我理解 PEP479 是关于什么的吗?我正在阅读文档,无法理解它。
摘要说:
这个 PEP 建议对生成器进行更改:当在生成器中引发 StopIteration 时,它会被 RuntimeError 替换。(更准确地说,当异常即将从生成器的堆栈帧中冒出时,就会发生这种情况。)
例如,这样的循环是否仍然有效?
it = iter([1,2,3])
try:
i = next(it)
while True:
i = next(it)
except StopIteration:
pass
或者这是否意味着如果我有这样的生成器定义:
def gen():
yield from range(5)
raise StopIteration
将StopIteration
被替换为RuntimeError
?
如果有人能对此有所了解,我将不胜感激。