通过实例简单了解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 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
Python实现的建造者模式示例
Aug 06 Python
python,Django实现的淘宝客登录功能示例
Jun 12 Python
Flask框架钩子函数功能与用法分析
Aug 02 Python
在pycharm中为项目导入anacodna环境的操作方法
Feb 12 Python
Python 实现自动完成A4标签排版打印功能
Apr 09 Python
Python是怎样处理json模块的
Jul 16 Python
Python 操作 MySQL数据库
Sep 18 Python
使用Python实现音频双通道分离
Dec 25 Python
Python wordcloud库安装方法总结
Dec 31 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 Python
Python识别花卉种类鉴定网络热门植物并自动整理分类
Apr 08 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对象类型判断
2008/08/27 PHP
php 操作调试的方法
2012/07/12 PHP
ThinkPHP CURD方法之limit方法详解
2014/06/18 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
laravel 数据验证规则详解
2019/10/23 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
使用jquery解析XML示例代码
2014/09/05 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
Underscore源码分析
2015/12/30 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
vue-router单页面路由
2017/06/17 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
js实现全选和全不选
2020/07/28 Javascript
Python实现从订阅源下载图片的方法
2015/03/11 Python
python实现在每个独立进程中运行一个函数的方法
2015/04/23 Python
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
前端面试必备之CSS3的新特性
2017/09/05 HTML / CSS
加强机关作风建设心得体会
2014/10/22 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
送达通知书
2015/04/25 职场文书
2015年建筑工程工作总结
2015/05/13 职场文书
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏