盘点一道Python中的yield生成器的题目(yield是python的关键字吗?)

网友投稿 243 2022-09-05


盘点一道Python中的yield生成器的题目(yield是python的关键字吗?)

大家好,我是皮皮。

一、前言

前几天在Python最强王者交流群有个叫【Chloe】的粉丝问了一个Python生成器的问题,这里拿出来给大家分享下,一起学习下。

二、解决过程

这里【月神】给出了解答,如下图所示:

当然了,这块有点难理解的部分,如下图所示:

如果加return的话,效果就不一样了。

这里在额外细节化一下,【瑜亮老师】给出了yield用法细节。

这个题目主要就考察yield返回结果时,“暂停”函数,再次调用后继续执行yield后面的代码。

这里给出一份代码,理解起来更加容易一些:

def even_odd(x): for j in x: if j % 2 == 0: yield 'Even' + str(j) yield 'Odd' + str(j)num = [0, 1, 2, 3, 4, 5]for i in even_odd(num): print(i, end=" ")

这个输出的结果是:Even0 Odd0 Odd1 Even2 Odd2 Odd3 Even4 Odd4 Odd5

最后,总结下生成器的用法和特点,

三、总结

大家好,我是皮皮。这篇文章主要分享了Python生成器的用法问题,针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题,还额外做了一些知识拓展,学到很多东西。

最后感谢粉丝【Chloe】提问,感谢【月神】、【瑜亮老师】给出的具体解析和代码演示,感谢【dcpeng】、【PI】、【老松鼠】、【冫马讠成】等人参与学习交流。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python网络爬虫中重新请求,请问有什么比较好的解决方法?(python爬虫请求异常怎么处理)
下一篇:Python中的and和or,结果让人出乎意料之外
相关文章

 发表评论

暂时没有评论,来抢沙发吧~