浅谈对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 相关文章推荐
Python3 中文文件读写方法
Jan 23 Python
python xpath获取页面注释的方法
Jan 14 Python
详解用python写一个抽奖程序
May 10 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
对Python3之方法的覆盖与super函数详解
Jun 26 Python
numpy中的meshgrid函数的使用
Jul 31 Python
Python操作redis和mongoDB的方法
Dec 19 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
Apr 07 Python
如何利用python web框架做文件流下载的实现示例
Jun 02 Python
基于opencv的selenium滑动验证码的实现
Jul 24 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
May 14 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 a simple smtp class
2007/11/26 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
php实现每日签到功能
2018/11/29 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
JS批量操作CSS属性详细解析
2013/12/16 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
如何快速上手Vuex
2017/02/14 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
python smtplib模块发送SSL/TLS安全邮件实例
2015/04/08 Python
Python遍历pandas数据方法总结
2018/02/09 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
家乐福台湾线上购物网:Carrefour台湾
2020/09/15 全球购物
考试作弊被抓检讨书
2014/01/10 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
另类冲刺标语
2014/06/24 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers