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程序实例(通讯录)
Nov 29 Python
Python中使用Inotify监控文件实例
Feb 14 Python
在Python中操作列表之List.pop()方法的使用
May 21 Python
Python内存管理方式和垃圾回收算法解析
Nov 11 Python
利用Python如何批量修改数据库执行Sql文件
Jul 29 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
python基于json文件实现的gearman任务自动重启代码实例
Aug 13 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
May 18 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
Python使用openpyxl复制整张sheet
Mar 24 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错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
thinkphp实现图片上传功能分享
2014/03/04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
javascript定时器完整实例
2015/02/10 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
平面设计岗位职责
2013/12/14 职场文书
自动一体化专业求职信
2014/03/15 职场文书
我为党旗添光彩演讲稿
2014/09/10 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
生日答谢词
2015/01/05 职场文书
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫