python yield from

it2022-05-05  123

有一个疑问是 能不能在生成器函数中写return 试验之后结果是可以的:

def h(): print('Wen Chuan') yield 5 return 666 c = h() a = next(c) try: b = next(c) except StopIteration as e: print(e.value) print(a) #### output ##### Wen Chuan 666 5

return 之后代表当前的生成器已经结束了,再次next()的时候会引起StopIteration异常,此时return的内容会在 错误信息的第一个参数里返回,就是 e.value

关于 python 的 yield from 参考这篇文章,写得不错


最新回复(0)