什么是协程?可能很多人不清楚,那我们先从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学习推荐:
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何用python脚本测试手机10/28
- ♥ 如何在python中获取密码输入的数量11/06
- ♥ 关于Excel表格如何处理|这篇最用心03/04
- ♥ python3中TQDM库安装使用详解12/04
- ♥ 什么是python Floyd算法01/15
- ♥ python3中相比倒序输出方式,哪种方式更容易使用?12/29
内容反馈