版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python成器生学习Python生成器简的基本知识掌握Pytho生成器的创建熟悉Python生成器函数与正常函数的差异在Python中,使用了yield的函数被称为生成器(generator)。
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行next()方法时从当前位置继续运行。
在Python中构建迭代器有很多开销;
必须使用
iter
()和
next
()方法实现一个类,跟踪内部状态,当没有值被返回时引发StopIteration异常。
Python生成器是创建迭代器的简单方法。上面提到的所有开销都由Python中的生成器自动处理。简单来说,生成器是返回一个可以迭代的对象(迭代器)的函数(一次一个值)。1、生成器简介
在Python中创建生成器是相当简单的。它使用yield语句而不是return语句来定义,与正常函数一样简单。
如果函数包含至少一个yield语句(它可能包含其他yield或return语句),那么它将成为一个生成器函数。yield和return都将从函数返回一些值。
不同的是,return语句完全终止函数,但yield语句会暂停函数保存其所有状态,并在以后的连续调用中继续执行(有点像线程挂起的意思)。2、生成器创建下面列出的是生成器函数与正常函数的区别-生成器函数包含一个或多个yield语句。当被调用时,它返回一个对象(迭代器),但不会立即开始执行。
iter
()和
next
()之类的方法将自动实现。所以可以使用next()迭代项目。一旦函数退让(yields),该函数将被暂停,并将该控制权交给调用者。局部变量及其状态在连续调用之间被记住。最后,当函数终止时,StopIteration会在进一步的调用时自动引发。3、生成器与正常函数的差异3、生成器与正常函数的差异情境1使用
yield实现斐波那契数列:3、生成器与正常函数的差异情境2直接使用带有for循环的生成器:for循环需要一个迭代器,并使用next()函数进行迭代。当StopIteration被引发时,它会自动结束。python中生成器简介python中生成器创建python中生成器函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026文化自信的面试题及答案
- 2026物流方面面试题目及答案
- 2026销售经营面试题及答案
- 统编版语文九年级上册第一单元第4课《乡愁》教学设计+分层课堂训练
- 电气产品购销合同(范本)
- 防盗网安装合同(范本)
- 2026年企业形象宣传合同三篇
- 2026年AI角色扮演提升拉脱维亚语沟通
- 商务局市外贸进出口情况调查报告
- 2026年合成生物学构建合成生物学染色质工程
- 2026年湖南中考(数学)考试试卷真题(含答案)
- 2026年肾内科医生三基三严培训试卷及答案
- 2026湖北武汉市区属国有企业招聘笔试历年参考题库附带答案详解
- 2026年公安机关人民警察高级执法资格考试真题含答案
- 护理人员的情绪管理与礼仪
- 安宁疗护中的灵性关怀与信仰支持
- 2026年防疫员技师实操题库及评分细则
- 中医诊断学之诊断思路与诊断方法
- 会计管理内部控制制度
- 《2025年宁夏社区工作者招聘考试高频考点试题解析》
- 村级报账员业务培训课件
评论
0/150
提交评论