浅谈对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实现求最大公约数及判断素数的方法
May 26 Python
Python实现截屏的函数
Jul 25 Python
Python实现可自定义大小的截屏功能
Jan 20 Python
opencv python 基于KNN的手写体识别的实例
Aug 03 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
Python3中lambda表达式与函数式编程讲解
Jan 14 Python
python 定时器,轮询定时器的实例
Feb 20 Python
django 微信网页授权认证api的步骤详解
Jul 30 Python
Python如何实现强制数据类型转换
Nov 22 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
使用Django搭建网站实现商品分页功能
May 22 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 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
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP文件上传类实例详解
2016/04/08 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
详解webpack babel的配置
2018/01/09 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
jQuery插件jsonview展示json数据
2018/05/26 jQuery
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
Vue父子之间值传递的实例教程
2020/07/02 Javascript
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
python中abs&map&reduce简介
2018/02/20 Python
深入理解Django的中间件middleware
2018/03/14 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
python机器学习实现决策树
2019/11/11 Python
Python实现FLV视频拼接功能
2020/01/21 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
安全生产检查通报
2014/01/29 职场文书
九年级英语教学反思
2014/01/31 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
党校学习党性分析材料
2014/12/19 职场文书
个人事迹材料范文
2014/12/29 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
小学教育见习总结
2015/06/23 职场文书
解除处分决定书
2015/06/25 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL