通过实例简单了解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的SQLAlchemy框架使用入门
Apr 29 Python
关于Python 3中print函数的换行详解
Aug 08 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
Python运行不显示DOS窗口的解决方法
Oct 22 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
在Django中实现添加user到group并查看
Nov 18 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
Python高并发解决方案实现过程详解
Jul 31 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中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
php 生成短网址原理及代码
2014/01/23 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
使用webpack搭建vue项目实现脚手架功能
2019/03/15 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
python在每个字符后添加空格的实例
2018/05/07 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
Python 解析xml文件的示例
2020/09/29 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
毕业生毕业总结的自我评价范文
2013/11/02 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
运动会方阵解说词
2014/02/12 职场文书
《二泉映月》教学反思
2014/04/15 职场文书
小学生综合素质评语
2014/04/23 职场文书
小平小道观后感
2015/06/09 职场文书
人代会简报
2015/07/21 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
电工实训心得体会
2016/01/14 职场文书