什么是协程?可能很多人不清楚,那我们先从yield from说起。
<br />
<span><br />
yield from<br />
</span><br />
用法详解:
<br />
<span><br />
yield from<br />
</span><br />
是Python3.3才出现的语法。所以这个特性在Python2中是没有的。
<br />
<span><br />
yield from<br />
</span><br />
后面需要添加的是可迭代对象,可以是普通的可迭代对象,也可以是迭代器,甚至是生成器。
简单应用:拼接可迭代对象
我们可以用一个使用
<br />
<span><br />
yield<br />
</span><br />
和一个使用
<br />
<span><br />
yield from<br />
</span><br />
的例子来对比看下。
使用
<br />
<span><br />
yield<br />
</span><br />
<p><span># 字符串<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>
使用
<br />
<span><br />
yield from<br />
</span><br />
<p><span># 字符串<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学习推荐:
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Python2结束:生命还剩113天,到期后停止维护11/01
- ♥ 如何对python的列表进行重复数据删除11/02
- ♥ 工作很乏味?试试 Python 循环语句(for 循环)01/10
- ♥ python如何读取yaml文件12/12
- ♥ 如何解决python导入模块错误11/04
- ♥ Python如何执行js代码12/05
内容反馈