python中yield的使用注意

(推荐操作系统:windows7系统、Python 3.9.1、DELL G3电脑。)

1、说明

一旦在函数中使用了yield,它就变成了生成函数。但 yield 不能和 return 共存,并且 yield 只能定义在函数中。当我们调用这个函数时,函数内部的代码不会立即执行,所以函数只是返回一个生成器对象。当我们用for迭代它时,函数中的代码将被执行。

2、实例

python3 新增了 yield from 语法,它相当于 for + yield。比如:

yieldfroma()

#等同于下面
foriina():
yieldi

拓展:yield 和 return 的区别:

return 的时候这个函数的局部变量都被销毁了;

所有 return 是得到所有结果之后的返回;

yield 是产生了一个可以恢复的函数(生成器),恢复了局部变量;

生成器只有在调用 .next() 时才运行函数生成一个结果。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。