通过实例简单了解python yield使用方法


Posted in Python onAugust 06, 2020

实例代码如下

def demo():
  print("开始执行...")
  while 1:
    res = yield '这是返回值'
    print("res:",res)
d1 = demo()
print(d1)
print(next(d1))
print("*"*20)
print(next(d1))

执行结果如下:

开始执行...
这是返回值
********************
res: None
这是返回值

代码解释,个人理解,说得不对希望能够点出:

d1 = demo();生成一个对象,不会输出任何内容

print(d1); 这里不输入任何内容,因为程序第一次遇到yield就暂停了,即使yield前面有输出语句,一样给输出

print(next(d1)); 程序会接着yield继续执行,第二次遇到yield,return“这是返回值”,加起来就会会输出开始执行...
这是返回值

print(next(d1));再次执行next(d1),相当于第三遇到yield,因为上一步相当于被return,res并没有赋值,所以为None,继续执行while,第四次遇到yield,输出“这是返回值”

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现扫描指定目录下的子目录及文件的方法
Jul 16 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
Mar 30 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
Python中index()和seek()的用法(详解)
Apr 27 Python
Python中pip更新和三方插件安装说明
Jul 08 Python
python去掉 unicode 字符串前面的u方法
Oct 21 Python
numpy和pandas中数组的合并、拉直和重塑实例
Jun 28 Python
Python threading的使用方法解析
Aug 28 Python
Python一行代码解决矩阵旋转的问题
Nov 30 Python
Windows10+anacond+GPU+pytorch安装详细过程
Mar 24 Python
python3中确保枚举值代码分析
Dec 02 Python
python 多态 协议 鸭子类型详解
Nov 27 Python
Python切片列表字符串如何实现切换
Aug 06 #Python
Python爬虫爬取微信朋友圈
Aug 06 #Python
Python变量及数据类型用法原理汇总
Aug 06 #Python
基于logstash实现日志文件同步elasticsearch
Aug 06 #Python
如何解决pycharm调试报错的问题
Aug 06 #Python
Python用来做Web开发的优势有哪些
Aug 05 #Python
Python结合Window计划任务监测邮件的示例代码
Aug 05 #Python
You might like
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
laravel安装和配置教程
2014/10/29 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
PHP abstract与interface之间的区别
2013/11/11 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
2018/09/07 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
十个Python程序员易犯的错误
2015/12/15 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
公司JAVA开发面试题
2015/04/02 面试题
机械设计制造专业个人求职信
2013/09/25 职场文书
优秀应届生推荐信
2013/11/09 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
Vue Element plus使用方法梳理
2022/12/24 Vue.js