通过实例简单了解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在多玩图片上下载妹子图的实现代码
Aug 13 Python
python简单实现基数排序算法
May 16 Python
python logging日志模块的详解
Oct 29 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
python+ffmpeg批量去视频开头的方法
Jan 09 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
Apr 17 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
基于pandas中expand的作用详解
Dec 17 Python
Python3如何实现Win10桌面自动切换
Aug 11 Python
Python读取文件夹下的所有文件实例代码
Apr 02 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 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
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
vue-router传参用法详解
2019/01/19 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
python global和nonlocal用法解析
2020/02/03 Python
浅析Python面向对象编程
2020/07/10 Python
Python无损压缩图片的示例代码
2020/08/06 Python
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
自荐信的两点禁忌
2013/10/30 职场文书
创意广告词
2014/03/17 职场文书
2015入党个人自传范文
2015/06/26 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
Python内置数据类型中的集合详解
2022/03/18 Python
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL