位置: 编程技术 - 正文

浅析Python中yield关键词的作用与用法(pythonyield理解与用法)

编辑:rootadmin

推荐整理分享浅析Python中yield关键词的作用与用法(pythonyield理解与用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python yieid,yied python,pythonyield理解与用法,python yieid,python3 yield用法,pythonyield详解,python yieid,python yieid,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

为了理解yield是什么,首先要明白生成器(generator)是什么,在讲生成器之前先说说迭代器(iterator),当创建一个列表(list)时,你可以逐个的读取每一项,这就叫做迭代(iteration)。

mylist 是一个可迭代的对象。当使用一个列表生成式来建立一个列表的时候,就建立了一个可迭代的对象:

可以使用“for··· in ··· ”来操作可迭代对象,如:list,string,files,这些迭代对象非常方便我们使用,因为你可以按照你的意愿进行重复的读取。但是你不得不预先存储所有的元素在内存中,那些对象里有很多元素时,并不是每一项都对你有用。

浅析Python中yield关键词的作用与用法(pythonyield理解与用法)

生成器同样是可迭代对象,但是你只能读取一次,因为它并没有把所有值存放内存中,它动态的生成值:

看起来除了把 [] 换成 () 外没什么不同。但是,你不可以再次使用 for i in mygenerator , 因为生成器只能被迭代一次:先计算出0,然后继续计算1,然后计算4,一个跟一个…

yield 是一个类似 return 的关键字,只是这个函数返回的是个生成器。

这个示例本身没什么意义,但是它很清晰地说明函数将返回一组仅能读一次的值,要想掌握yield,首先必须理解的是:当你调用生成器函数的时候,如上例中的createGenerator() ,程序并不会执行函数体内的代码,它仅仅只是返回生成器对象,这种方式颇为微妙。函数体内的代码只有直到每次循环迭代(for)生成器的时候才会运行。

第一次迭代中你的函数会执行,从开始到达 yield 关键字,然后返回 yield 后的值作为第一次迭代的返回值. 然后,每次执行这个函数都会继续执行你在函数内部定义的那个循环的下一次,再返回那个值,直到没有可以返回的。

如果生成器内部没有定义 yield 关键字,那么这个生成器被认为成空的。这种情况可能因为是循环进行没了,或者是没有满足 if/else 条件。

总结

标签: pythonyield理解与用法

本文链接地址:https://www.jiuchutong.com/biancheng/383409.html 转载请保留说明!

上一篇:Python中 Lambda表达式全面解析(python lambda的用法)

下一篇:简单谈谈Python中的闭包(python的iloc)

  • 金蝶软件中怎么增加固定资产
  • 合伙律师事务所的合伙人必须是
  • 应付账款超过三年未付
  • 增值税交错了退税怎么退
  • 增值税有定额税率吗
  • 企业存货核算的内容包括
  • 出售无形资产的净损失
  • 公司清算后资产负债表与利润表
  • 取得虚开增值税专票如何税务处理
  • 勾选认证和扫描认证哪个好
  • 领钱签字表格模板图片
  • 发票查询结果显示不出来
  • 2021税收分类编码大全
  • 销售淀粉的税率
  • 董事费监事费高管薪酬标准
  • 企业债务追诉期几年
  • 事业单位固定基金属于什么科目
  • 原材料结转生产成本是什么意思
  • 标准差超过多少不合理
  • 什么情况下从价计征房产税
  • 季度利润
  • 上月的应付账款怎么记账
  • 电脑硬件检修
  • 应交税费贷方余额负数表示什么
  • 非居民个人所得税税率表最新
  • 税后利润是股东权益吗
  • 苹果电脑进入安全模式按什么键
  • linux sar文件
  • 高新技术企业研发费用归集
  • 最高频率内存条是多少
  • 我老公有外遇了,我很爱他,我该怎么办
  • chrome新建标签为打开特定网页
  • ros call
  • 收回已核销的坏账分录
  • 出口免退增值税计算公式
  • 代扣手续费是啥意思
  • 企业破产是不是要没收法人家里全部财产
  • 混合销售行为的税务处理
  • php 构造方法
  • 申报系统异常
  • 收到预付货款下月交货会计分录
  • 手把手教你实现用户登录界
  • uniapp官方教程
  • split命令用法
  • 子公司吸收合并母公司 特殊性税务处理
  • 进项发票数据导出
  • 新开企业如何在电子税务局操作
  • 注销公司怎么搞
  • 公司车辆出售要交多少税
  • 研发支出属于什么类
  • 筹建养老院国家有哪些优惠政策?
  • 关联债资比例是什么意思
  • 税控系统的维护包括哪些内容
  • 直接转销法还允许使用吗
  • 应收票据备查簿的作用
  • 员工请假扣款怎么做分录
  • 应收账款对应什么会计科目
  • 固定资产的折旧方法有哪些
  • 转回坏账准备影响营业利润吗
  • 应付利息的主要方式
  • 失控发票进项税转出成本调整
  • 红字专用发票怎么做账
  • mysql mod
  • mysql绿色版配置
  • 苹果7开发者模式怎么打开
  • 电脑c盘里windows
  • linux修改ssh端口号启动失败
  • 升级win10后东西还在吗
  • 微软平板
  • cocos2dx schedule
  • unity粒子制作ui特效
  • Python定时器实例代码
  • python做排序
  • 鼠标焦点离开触发查询
  • html读书笔记
  • jquery.browser
  • 电子税务局怎么删除办税员
  • 房产税怎么计提和缴纳分录
  • 外地人在秦皇岛买房
  • 国税申报作废怎么操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设