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中sleep函数用法实例分析
Apr 29 Python
详解Django中的ifequal和ifnotequal标签使用
Jul 16 Python
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
pandas 使用apply同时处理两列数据的方法
Apr 20 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
python动态进度条的实现代码
Jul 03 Python
如何使用Python自动控制windows桌面
Jul 11 Python
Django基础知识 web框架的本质详解
Jul 18 Python
解决Django Haystack全文检索为空的问题
May 19 Python
Python基于staticmethod装饰器标示静态方法
Oct 17 Python
Python模拟键盘输入自动登录TGP
Nov 27 Python
Python批量将csv文件转化成xml文件的实例
May 10 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横向重复区域显示二法
2008/09/25 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
php中最简单的字符串匹配算法
2014/12/16 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
浅析PHP开发规范
2018/02/05 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
Python制作Windows系统服务
2017/03/25 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
2017/04/14 Python
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
腾讯公司的一个sql题
2013/01/22 面试题
大学专科求职信
2014/07/02 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
2015年加油站工作总结
2015/05/13 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书