位置: 编程技术 - 正文

浅析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)

  • 设备检验检测
  • 固定资产安装费用怎么处理
  • 税控盘维护费的分录
  • 什么情况下进项税额需要转出
  • 个人话费发票怎么入账
  • 农民合作社交哪些税
  • 为职工代垫的水电费应计入
  • 个税的专项扣除包括哪些内容
  • 发票与入库单明细不一致税务可以吗
  • 供应商给的折扣比发票少怎么做账
  • 个人转租房屋需交税吗
  • 企业购买用于绿化的土地
  • 开办费一次性摊销企业所得税
  • 燃气在建工程要怎么转固定资产呢?
  • 生产型企业税种有哪些
  • 职工报销差旅费会计科目
  • 非金融机构有
  • 资金占用利息怎么开票
  • 酒店住宿收入确认原则的条件
  • 进项税借方有余额要怎么处理
  • 会计报表附表属于会计报表内容吗
  • 免税单位无租使用房产怎么缴纳房产税
  • 房地产销售佣金表格模板
  • 补缴的附加税怎么入账
  • 不同税率的发票可以合并入账吗
  • 应交增值税有哪些
  • 固定资产要办理什么手续
  • php中字符串函数
  • 营改增之后账务怎么处理
  • win10电源图标灰色无法打开
  • 违约金开什么票据
  • 税务机关义务包括
  • 当年盈余资金计算公式
  • 营改增后小规模纳税人标准
  • php常用方法
  • gpt gtp
  • 汇算清缴补交所得税怎么做凭证
  • 注册公司填写从业人数多少合适
  • 资产负债表与利润表之间的关系
  • python @time
  • 漏税处罚
  • 帝国cms模板怎么样用
  • 摊余成本和账面价值
  • 哪些企业适用于企业会计制度
  • 房地产企业年报数据
  • 跨年认证原材料是什么
  • 财务报表上期金额是指什么意思
  • sql20054n
  • 进出车间管理规定适用
  • 分公司挣的钱归谁所有
  • 计提贷款损失准备的意义
  • 专项应付款科目编码是多少
  • 发票验旧后才能领新发票吗
  • 人力资源公司代发工资可以开专用发票吗
  • 投资者投入无形资产的入账价值
  • 企业进行短期投资的目的包括
  • 重组合并
  • mysql中字符串类型
  • mysql5.7免安装版配置
  • windows7开机后网络标志转圈
  • win8系统怎么设置
  • Windows正在启动卡死
  • windows10粘滞键
  • win7系统如何修复引导
  • win7屏幕不停闪烁
  • windows7 sp1升级包
  • jQuery插件封装时如要实现链式编程,需要
  • Python中文分词的第三方库
  • 相机跟随人物移动
  • 网站渗透违法吗
  • linux中sudo命令的使用方式和作用
  • python如何处理文本
  • great 搬运工
  • android studio教程入门
  • Android自定义动画
  • 东莞网上办税服务厅
  • 进项税额转出影响所得税吗
  • 湖北国税网上办税大厅官网
  • 怎么登陆国税网
  • 企业税务状态查询网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设