




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院居间合同范本
- 招标公司服务合同范本
- 南京耐磨地坪合同范本
- 叉车代理销售合同范本
- 个人房屋转让协议书
- 1+X继保试题含参考答案
- 与个人搬运合同范本
- 办公改造合同范本
- 高压电工作业复习题+参考答案
- 三八妇女节活动邀请函
- 2024届高三英语作文复习写作专项读后续写:帮我修车的墨西哥一家人(人性之光)任务单学案
- 2022年四川省绵阳市中考语文真题
- 麦琪的礼物全面英文详细介绍
- 使用智能手机教程文档
- 数字资产培训课件
- (医院安全生产培训)课件
- 大档案盒正面、侧面标签模板
- 幼儿园优质公开课:中班数学《到艾比家做客》课件
- 保洁巡查记录表
- 部编人教版历史八年级下册《三大改造》省优质课一等奖教案
- 水轮机调速器现场调试
评论
0/150
提交评论