yield 和 yield from 应该怎么深入理解才正确?

2019-08-22 11:20:44 +08:00
 miniyao
看到的介绍总是斐波那契数列和读多行文本那几个例子,感觉还是没有很深入的理解 yield 和 yield from 的设计思想。
2386 次点击
所在节点    Python
6 条回复
est
2019-08-22 11:35:02 +08:00
yield 返回一个
yield from 返回一堆
ipwx
2019-08-22 11:35:49 +08:00
这有啥好理解的… yield from = for xxx in yyy: yield xxx
null4a79
2019-08-22 17:05:24 +08:00
你可以把 yield from 想象成一个管道,把后面那个可迭代对象里的东西逐个引到这里来。
linw1995
2019-08-22 17:39:30 +08:00
我是这么理解的,可以参考一下

yield from sub_generator()

子生成器的 __next__ 委托给父生成器使用,当父生成器调用 __next__ 实际是调用子生成器的 __next__,直到子生成器抛出 GenertorExit。
Marinej
2019-08-23 13:12:24 +08:00
yield 就当成是个子程序中断关键字
yield from 当成是个是委托生成器的管道,还是蛮神奇的
NickFang
2019-08-27 21:53:57 +08:00
看《流畅的 python 》。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/594129

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX