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实现给qq邮箱发送邮件的方法
May 28 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
Dec 21 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
Python爬虫实现验证码登录代码实例
May 10 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
Aug 23 Python
Python+OpenCV实现图像的全景拼接
Mar 05 Python
基于Python中random.sample()的替代方案
May 23 Python
给ubuntu18安装python3.7的详细教程
Jun 08 Python
python有几个版本
Jun 17 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 Python
使用python如何删除同一文件夹下相似的图片
May 07 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
第十一节--重载
2006/11/16 PHP
php获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
2013/06/17 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
Dom 是什么的详细说明
2010/10/25 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
2016/12/13 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
django缓存配置的几种方法详解
2018/07/16 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
2020/05/22 Python
房地产营销策划方案
2014/02/08 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
创业计划书之酒厂
2019/10/14 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python