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基础教程之类class定义使用方法
Feb 20 Python
Python实现配置文件备份的方法
Jul 30 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
Jul 12 Python
pandas 实现字典转换成DataFrame的方法
Jul 04 Python
python将字符串转换成json的方法小结
Jul 09 Python
Python调用C语言的实现
Jul 26 Python
python实现的登录与提交表单数据功能示例
Sep 25 Python
浅谈Python type的使用
Nov 19 Python
Python如何使用PIL Image制作GIF图片
May 16 Python
怎么解决pycharm license Acti的方法
Oct 28 Python
Linux系统下升级pip的完整步骤
Jan 31 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 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数组循环操作详细介绍 附实例代码
2013/02/03 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
curl和libcurl的区别简介
2015/07/01 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
详解python开发环境搭建
2016/12/16 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
Python日志模块logging基本用法分析
2018/08/23 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
校园文化建设方案
2014/02/03 职场文书
员工晚婚的请假条
2014/02/08 职场文书
顶岗实习协议书
2015/01/29 职场文书
教师个人自我评价
2015/03/04 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android
Win11更新失败并提示0xc1900101
2022/04/19 数码科技
Redis实现短信验证码登录的示例代码
2022/06/14 Redis
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android