
python中print,return和yield的区别
发布日期:2021-05-09 04:01:46
浏览次数:12
分类:博客文章
本文共 733 字,大约阅读时间需要 2 分钟。
def func1(): for i in range(1, 5): print idef func2(): for i in range(1, 5): return idef func3(): for i in range(1, 5): yield ifunc1() print func2()print func3()
1.print并不会阻断程序的执行,就不用多说了。
2.func2()方法中的循环执行第一次就被return结束掉了。(后面的2、3、4就不会有返回的机会了)
3.yield你可以通俗的叫它"轮转容器",可用现实的一种实物来理解:水车,先yield来装入数据、产出generator object、使用next()来释放;好比水车转动后,车轮上的水槽装入水,随着轮子转动,被转到下面的水槽就能将水送入水道中流入田里。
def func3(): for i in range(1,5): yield i#装入 gob = func3()#generator 类型print next(gob)#1 释放的第一个装入的数据,(先入先出)print next(gob)#2print next(gob)#3print next(gob)#4 print next(gob)#报错
个人理解,yield在python内部是当作list处理的:
def func3(): for i in range(1,5): yield i yi = []yi = func3()for y in yi: print y 1234
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月10日 11时52分34秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
上周热点回顾(1.23-1.29)
2021-05-09
【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
2021-05-09
Python 简明教程 --- 20,Python 类中的属性与方法
2021-05-09
QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)
2021-05-09
稀疏数组
2021-05-09
Android MediaPlayer setDataSource failed
2021-05-09
虚拟机搭建hadoop环境
2021-05-09
DataStax Bulk Loader教程(四)
2021-05-09
Hibernate入门(四)---------一级缓存
2021-05-09
[Python学习笔记]组织文件
2021-05-09
快服务流量之争:如何在快服务中占领一席之地
2021-05-09
Spring Boot 2.x基础教程:构建RESTful API与单元测试
2021-05-09
dojo/request模块整体架构解析
2021-05-09
互联网App应用程序测试流程及测试总结
2021-05-09
如何使用google搜索?
2021-05-09
IntelliJ IDEA 中,项目文件右键菜单没有svn选项解决办法
2021-05-09
(在模仿中精进数据可视化07)星球研究所大坝分布可视化
2021-05-09
(数据科学学习手札27)sklearn数据集分割方法汇总
2021-05-09