浅谈对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 接口_从协议到抽象基类详解
Aug 24 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 Python
python 删除非空文件夹的实例
Apr 26 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
将tensorflow的ckpt模型存储为npy的实例
Jul 09 Python
python找出完数的方法
Nov 12 Python
对python函数签名的方法详解
Jan 22 Python
在python中画正态分布图像的实例
Jul 08 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
Python合并2个字典成1个新字典的方法(9种)
Dec 19 Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 Python
Python列表的深复制和浅复制示例详解
Feb 12 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 Undefined index报错的修复方法
2011/07/17 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
Javascript的&&和||的另类用法
2014/07/23 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
javascript基本算法汇总
2016/03/09 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
[01:00:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第三场 1月10日
2021/03/11 DOTA
python远程登录代码
2008/04/29 Python
Python文件和目录操作详解
2015/02/08 Python
Python2中的raw_input() 与 input()
2015/06/12 Python
python实现的希尔排序算法实例
2015/07/01 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
Python中extend和append的区别讲解
2019/01/24 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
Python日志syslog使用原理详解
2020/02/18 Python
社会实践心得体会
2014/01/03 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
起诉意见书范文
2015/05/19 职场文书