【发布时间】:2017-09-22 13:43:11
【问题描述】:
今天我玩弄了嵌套生成器函数,发现了一个有趣的属性/行为,我无法向自己解释。
也许这与对 yield from 的作用缺乏了解有关……。但是,现在解决问题:
def foo():
for iter in range(10):
yield iter
generator = foo()
def bar():
yield from generator
print(next(bar()), end=' ')
print(next(bar()), end=' ')
...
所以我排除的输出是0 1 ...。
但是,在第一次成功调用 next 后,我得到:
回溯(最近一次通话最后):
文件“”,第 1 行,在
停止迭代
所以我的问题是:为什么生成器已经到了尽头?
【问题讨论】: