小编emp*_*lli的帖子

嵌套的生成器对象上下文

今天我玩弄了嵌套的生成器函数,发现了一个有趣的属性/行为,我无法向自己解释.

也许这与缺乏对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=' ')
...
Run Code Online (Sandbox Code Playgroud)

所以我排除的输出就是0 1 ....

但是,在第一次成功调用之后next,我得到:Traceback(最近一次调用最后一次):文件"",第1行,在StopIteration中

所以我的问题是:为什么发电机已经到了终点?

python generator

1
推荐指数
1
解决办法
405
查看次数

标签 统计

generator ×1

python ×1