python中的yield from语法快速学习


Posted in Python onNovember 06, 2020

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

yield from 用法详解:

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

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

简单应用:拼接可迭代对象
我们可以用一个使用yield和一个使用yield from的例子来对比看下。

使用yield

<p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei"; 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-family: 微软雅黑, "Microsoft YaHei"; 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中的yield from语法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 从远程服务器下载日志文件的程序
Feb 10 Python
Python collections模块实例讲解
Apr 07 Python
python任务调度实例分析
May 19 Python
Python中threading模块join函数用法实例分析
Jun 04 Python
python图书管理系统
Apr 05 Python
Django跨域请求CSRF的方法示例
Nov 11 Python
python后端接收前端回传的文件方法
Jan 02 Python
关于python3中setup.py小概念解析
Aug 22 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
Aug 24 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
解决jupyter notebook 出现In[*]的问题
Apr 13 Python
Python通过字典映射函数实现switch
Nov 06 #Python
Python使用grequests并发发送请求的示例
Nov 05 #Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 #Python
Python中常用的os操作汇总
Nov 05 #Python
Python Web项目Cherrypy使用方法镜像
Nov 05 #Python
Python实现异步IO的示例
Nov 05 #Python
Python requests HTTP验证登录实现流程
Nov 05 #Python
You might like
在线竞拍系统的PHP实现框架(二)
2006/10/09 PHP
PHP操作MongoDB时的整数问题及对策说明
2011/05/02 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
JavaScript XML操作 封装类
2009/07/01 Javascript
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
python更改已存在excel文件的方法
2018/05/03 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
python plotly画柱状图代码实例
2019/12/13 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
销售总监工作职责
2013/11/21 职场文书
六一儿童节活动总结
2014/08/27 职场文书