如何快速掌握python中的yield from语法?

588次阅读
没有评论
如何快速掌握python中的yield

协程是什么?可能很多人不清楚,所以我们先从其中的yield from开始讲解。

yield from 用法详解:

yield from 是在Python3.3才出现的语法。所以这个特性在Python2中是没有的。

yield from 后面需要加的是可迭代对象,它可以是普通的可迭代对象,也可以是迭代器,甚至是生成器。

简单应用:拼接可迭代对象

我们可以用一个使用yield和一个使用yield from的例子来对比看下。

使用yield


<p style="line-height: 1.75em"><span style="font-size: 14px"># 字符串<br />astr='ABC'<br /># 列表<br />alist=[1,2,3]<br /># 字典<br />adict={"name":"wangbm","age":18}<br /># 生成器<br />agen=(i for i in range(4,8))<br /><br />def gen(*args, **kw):<br />    for item in args:<br />        for i in item:<br />            yield i<br /><br />new_list=gen(astr, alist, adict, agen)<br />print(list(new_list))<br /># ['A', 'B', 'C', 1, 2, 3, 'name', 'age', 4, 5, 6, 7]<br /></span></p>


使用yield from


<p style="line-height: 1.75em"><span style="font-size: 14px"># 字符串<br />astr='ABC'<br /># 列表<br />alist=[1,2,3]<br /># 字典<br />adict={"name":"wangbm","age":18}<br /># 生成器<br />agen=(i for i in range(4,8))<br /><br />def gen(*args, **kw):<br />    for item in args:<br />        yield from item<br /><br />new_list=gen(astr, alist, adict, agen)<br />print(list(new_list))<br /># ['A', 'B', 'C', 1, 2, 3, 'name', 'age', 4, 5, 6, 7]<br /></span></p>

以上就是python中yield from语法的详解。更多Python学习推荐:PyThon学习网教学中心

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python基础教程2022-12-07发表,共计884字。
新手QQ群:570568346,欢迎进群讨论 Python51学习