我试图理解关键字的行为yield from,但发现它很难解释......
这是设置:
案例 1 - 如果我运行这个代码片段,也不会有例外。
gen = (x for x in range(10))
def func():
yield from gen
F21 = func()
F22 = func()
next(F21)
next(F22)
Run Code Online (Sandbox Code Playgroud)
案例 2 - 这次我没有引入变量F21和,而是遇到了异常。F22StopIteration
gen = (x for x in range(10))
def func():
yield from gen
next(func())
next(func())
Run Code Online (Sandbox Code Playgroud)
两种情况为何有差异?