浅谈对yield的初步理解


Posted in Python onMay 29, 2017

如下所示:

def go():
  while True:
    data = 1
    r = yield data # data是返回值,r是接收值
    print("data", data)
    print("A1", r)
    data += 1

    r = yield data
    print("data",data)
    r += r
    print("A2", r)
    data += 1

    r = yield data
    print("data",data)
    print("A3", r)
    # 运行时此后若找不到下一个yield,则会报错StopIteration

my = go()
print("my", my)
print("None", my.send(None))
print(my.send("1"))
print(my.send("2"))
print(my.send("3"))

①my.send(None):  意思为启动协程,此步会返回第一个yield后面的data值。

②send一次,运行的代码是两个yield之间的代码,最后返回后一个yield后面的data值,若缺少后一个yield语句,则会报错“Stoplteration”

③r = yield data

   r 为my.send('传入的数据') 传入的数据

   data为此段运行完返回的数据

以上这篇浅谈对yield的初步理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
Dec 14 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 Python
Python实现实时数据采集新型冠状病毒数据实例
Feb 04 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
Feb 10 Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 Python
Python接口测试结果集实现封装比较
May 01 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
Nov 06 Python
详解python的内存分配机制
May 10 Python
如何正确理解python装饰器
Jun 15 Python
python多进程和多线程究竟谁更快(详解)
May 29 #Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 #Python
Python虚拟环境virtualenv的安装与使用详解
May 28 #Python
python 调用win32pai 操作cmd的方法
May 28 #Python
Python 稀疏矩阵-sparse 存储和转换
May 27 #Python
Django基础之Model操作步骤(介绍)
May 27 #Python
python之PyMongo使用总结
May 26 #Python
You might like
社区(php&&mysql)四
2006/10/09 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
php随机抽奖实例分析
2015/03/04 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
jQuery Ajax文件上传(php)
2009/06/16 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
jQuery层级选择器用法分析
2015/02/10 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
[01:15:15]VG VS EG Supermajor小组赛B组胜者组第一轮 BO3第二场 6.2
2018/06/03 DOTA
pyhton列表转换为数组的实例
2018/04/04 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
CSS3制作文字半透明倒影效果的两种实现方式
2014/08/08 HTML / CSS
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
技术合作协议书范本
2014/04/18 职场文书
体育运动会广播稿
2014/10/05 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
小学生表扬稿范文
2015/05/05 职场文书
勇敢的心观后感
2015/06/09 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
使用pandas模块实现数据的标准化操作
2021/05/14 Python
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python