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处理cookie详解
Feb 07 Python
Python简单日志处理类分享
Feb 14 Python
Python中List.count()方法的使用教程
May 20 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
使用Django简单编写一个XSS平台的方法步骤
Mar 25 Python
详解Django CAS 解决方案
Oct 30 Python
python使用itchat模块给心爱的人每天发天气预报
Nov 25 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
python 基于opencv操作摄像头
Dec 24 Python
python异常中else的实例用法
Jun 15 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/06/08 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
JS定义函数的几种常用方法小结
2019/05/23 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
python操作gmail实例
2015/01/14 Python
Python 爬虫的工具列表大全
2016/01/31 Python
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
python async with和async for的使用
2019/06/20 Python
Python文件路径名的操作方法
2019/10/30 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
实例代码讲解Python 线程池
2020/08/24 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
个人自我鉴定怎么写
2013/10/28 职场文书
航空大学应届生求职信
2013/11/10 职场文书
一年级学生评语
2014/04/23 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
校本研修个人总结
2015/02/28 职场文书
民事起诉书范本
2015/05/19 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书