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抓取京东商城手机列表url实例代码
Dec 18 Python
python中map、any、all函数用法分析
Apr 21 Python
python访问类中docstring注释的实现方法
May 04 Python
Python爬取网易云音乐热门评论
Mar 31 Python
python使用opencv进行人脸识别
Apr 07 Python
pandas获取groupby分组里最大值所在的行方法
Apr 20 Python
python实现批量解析邮件并下载附件
Jun 19 Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 Python
[机器视觉]使用python自动识别验证码详解
May 16 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
Python内置加密模块用法解析
Nov 25 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
JS中捕获console.log()输出的方法
2015/04/16 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
js倒计时显示实例
2016/12/11 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
微信小程序实现跑马灯效果
2020/10/21 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
解决Python 遍历字典时删除元素报异常的问题
2016/09/11 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
详解移动端HTML5音频与视频问题及解决方案
2018/08/22 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
Delphi工程师笔试题
2013/09/21 面试题
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
个人近期表现材料
2014/02/11 职场文书
幼儿园老师寄语
2014/04/03 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
利用JavaScript写一个简单计算器
2021/11/27 Javascript