浅谈对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编程中装饰器的使用示例解析
Jun 20 Python
利用Python中unittest实现简单的单元测试实例详解
Jan 09 Python
Python制作Windows系统服务
Mar 25 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
Apr 21 Python
Python实现的拉格朗日插值法示例
Jan 08 Python
python创造虚拟环境方法总结
Mar 04 Python
python自定义函数实现最大值的输出方法
Jul 09 Python
python socket通信编程实现文件上传代码实例
Dec 14 Python
Python生成并下载文件后端代码实例
Aug 31 Python
Python3中FuzzyWuzzy库实例用法
Nov 18 Python
Python爬虫之Selenium多窗口切换的实现
Dec 04 Python
python UIAutomator2使用超详细教程
Feb 19 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下使用iconv需要注意的问题
2010/11/20 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
JavaScript XML操作 封装类
2009/07/01 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
动态加载css方法实现和深入解析
2017/01/18 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
vuex中store存储store.commit和store.dispatch的用法
2020/07/24 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
Python装饰器用法示例小结
2018/02/11 Python
python破解zip加密文件的方法
2018/05/31 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
工程专业求职自荐书范文
2014/02/18 职场文书
学籍证明模板
2014/11/21 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
店铺转让协议书
2015/01/29 职场文书
放射科岗位职责
2015/02/14 职场文书
Python包argparse模块常用方法
2021/06/04 Python
Python Matplotlib绘制条形图的全过程
2021/10/24 Python