浅谈对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 相关文章推荐
Python 除法小技巧
Sep 06 Python
python基础教程之对象和类的实际运用
Aug 29 Python
python基于右递归解决八皇后问题的方法
May 25 Python
Python3一行代码实现图片文字识别的示例
Jan 15 Python
python环形单链表的约瑟夫问题详解
Sep 27 Python
Python图像处理之颜色的定义与使用分析
Jan 03 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
Mar 30 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
python statsmodel的使用
Dec 21 Python
python xlwt模块的使用解析
Apr 13 Python
如何理解python接口自动化之logging日志模块
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获取本周星期一具体日期的方法
2015/04/20 PHP
php获取excel文件数据
2017/04/21 PHP
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
ztree实现权限横向显示功能
2017/05/20 Javascript
vue中appear的用法
2017/08/17 Javascript
vue--vuex详解
2019/04/15 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
跟老齐学Python之关于类的初步认识
2014/10/11 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
Pytorch中.new()的作用详解
2020/02/18 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
就业协议书范本
2014/04/11 职场文书
酒店节能减排方案
2014/05/26 职场文书
委托证明模板
2014/09/16 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
硕士学位论文评语
2014/12/31 职场文书
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js