通过实例简单了解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中文件变化监控示例(watchdog)
Oct 16 Python
Python实现的质因式分解算法示例
May 03 Python
python和shell监控linux服务器的详细代码
Jun 22 Python
解决pycharm 误删掉项目文件的处理方法
Oct 22 Python
用python拟合等角螺线的实现示例
Dec 27 Python
Python装饰器原理与基本用法分析
Jan 07 Python
彻底搞懂 python 中文乱码问题(深入分析)
Feb 28 Python
python 插入日期数据到Oracle实例
Mar 02 Python
django rest framework 过滤时间操作
Jul 12 Python
Python通过zookeeper实现分布式服务代码解析
Jul 22 Python
python 基于UDP协议套接字通信的实现
Jan 22 Python
python geopandas读取、创建shapefile文件的方法
Jun 29 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 简单数组排序实现代码
2009/08/05 PHP
PHP中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
js自定义鼠标右键的实现原理及源码
2014/06/23 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
通过angular CDK实现页面元素拖放的步骤详解
2020/07/01 Javascript
OpenCV 轮廓检测的实现方法
2019/07/03 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
Django中ORM的基本使用教程
2020/12/22 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
高级Java程序员面试题
2016/06/23 面试题
模范教师事迹材料
2014/02/10 职场文书
毕业寄语大全
2014/04/09 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
颐和园导游词400字
2015/01/30 职场文书
贷款担保书范本
2015/09/22 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
javascript的var与let,const之间的区别详解
2022/02/18 Javascript
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android