通过实例简单了解Python中yield的作用


Posted in Python onDecember 11, 2019

这篇文章主要介绍了通过实例简单了解Python中yield的作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

介绍

我们有时候会发现代码中return的地方,有用yield的,难道他们一样吗?其实,yield与return看起来很像,但实际上完全不同。

使用

def test():
  print("****start****")
  while 1:
    res = yield 1
    print("res:", res)
t = test() # 函数中有yield关键字,所以函数并不会真的执行,而是先得到一个生成器t
print(next(t)) # next让函数开始执行,打印start,然后把1返回给next(t),并把1打印出来,这时res还没赋值
print("*"*10) # 打印十个* 
print(next(t)) # 函数从res = yield开始执行,但是1已经被yield出去了,所以res实际上没有值,就是None,然后while重新循环,1被yield出去打印

# ****start****
# 1
# **********
# res:None
# 1

你绕出来了吗?

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

Python 相关文章推荐
python实现搜索本地文件信息写入文件的方法
Feb 22 Python
深入学习python的yield和generator
Mar 10 Python
Python创建xml文件示例
Mar 22 Python
浅谈python 里面的单下划线与双下划线的区别
Dec 01 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
python requests 测试代理ip是否生效
Jul 25 Python
python使用正则筛选信用卡
Jan 27 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
python变量命名的7条建议
Jul 04 Python
django+echart数据动态显示的例子
Aug 12 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
Dec 11 #Python
centos7中安装python3.6.4的教程
Dec 11 #Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
Dec 11 #Python
Python3 中作为一等对象的函数解析
Dec 11 #Python
opencv3/C++图像像素操作详解
Dec 10 #Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 #Python
Python3的unicode编码转换成中文的问题及解决方案
Dec 10 #Python
You might like
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
js实现select下拉框选择
2020/01/11 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
Python多线程编程(五):死锁的形成
2015/04/05 Python
浅析Python中的join()方法的使用
2015/05/19 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
python实现简单的单变量线性回归方法
2018/11/08 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
零基础学python应该从哪里入手
2020/08/11 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
Redis基本数据类型Set常用操作命令
2022/06/01 Redis
python绘制云雨图raincloud plot
2022/08/05 Python