浅谈对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中类的继承代码实例
Oct 28 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
python基础教程之Filter使用方法
Jan 17 Python
mac系统安装Python3初体验
Jan 02 Python
在cmd命令行里进入和退出Python程序的方法
May 12 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
详解用Python进行时间序列预测的7种方法
Mar 13 Python
python实现吃苹果小游戏
Mar 21 Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 Python
基于Python中random.sample()的替代方案
May 23 Python
聊聊python中的异常嵌套
Sep 01 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的类 功能齐全的发送邮件类
2006/10/09 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
jquery实现每个数字上都带进度条的幻灯片
2013/02/20 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
Python下singleton模式的实现方法
2014/07/16 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
Python学习入门之区块链详解
2017/07/25 Python
Python中property函数用法实例分析
2018/06/04 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
python处理excel绘制雷达图
2019/10/18 Python
Python tkinter三种布局实例详解
2020/01/06 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
Python urllib3软件包的使用说明
2020/11/18 Python
python+opencv实现车道线检测
2021/02/19 Python
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
JPA面试常见问题
2016/11/14 面试题
人事专员岗位职责
2013/11/20 职场文书
电信营业员自我评价分享
2014/01/17 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
2015元旦节寄语
2014/12/08 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers