浅谈对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二维码生成库qrcode安装和使用示例
Dec 16 Python
使用Python编写类UNIX系统的命令行工具的教程
Apr 15 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
May 17 Python
详解python发送各类邮件的主要方法
Dec 22 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
Mar 16 Python
Flask解决跨域的问题示例代码
Feb 12 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
Mar 16 Python
如何使用python切换hosts文件
Apr 29 Python
关于python中导入文件到list的问题
Oct 31 Python
python 基于UDP协议套接字通信的实现
Jan 22 Python
解决virtualenv -p python3 venv报错的问题
Feb 05 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数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
js中onload与onunload的使用示例
2013/08/25 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
python ip正则式
2009/05/07 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
Python smallseg分词用法实例分析
2015/05/28 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
质检部职责
2013/12/28 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
创意广告词
2014/03/17 职场文书
环保宣传标语
2014/06/12 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
永不妥协观后感
2015/06/10 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
大学入学感言
2015/08/01 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书