Python中迭代器与生成器怎么使用


这篇“Python中迭代器与生成器怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中迭代器与生成器怎么使用”文章吧。内置有__iter__方法的都叫可迭代的对象。Python内置str、list、tuple、dict、set、file都是可迭代对象。执行可迭代对象的__iter__方法,拿到的返回值就是迭代器对象。只有字符串和列表都是依赖索引取值的,而其他的可迭代对象都是无法依赖索引取值的,只能使用迭代器对象。内置有__iter__方法,执行该方法会拿到迭代器本身。内置__next__方法,执行该方法会拿到迭代器对象中的一个值。可迭代对象可以直接使用常规for语句进行遍历for循环称为迭代器循环,in后必须是可迭代的对象。把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 免费云主机域名__next__() 。__iter__() 方法返回一个特殊的迭代器对象, 这个迭代器对象实现了 __next__() 方法并通过 StopIteration 异常标识迭代的完成。__next__() 方法会返回下一个迭代器对象。StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况,在 __next__() 方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代。创建一个返回数字的迭代器,初始值为 1,逐步递增 1,在 20 次迭代后停止执行:在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。yield后面可以加多个数值(可以是任意类型),但返回的值是元组类型的。提供一种自定义迭代器的方式yield可以暂停住函数,并提供当前的返回值yield和return:相同点:两者都是在函数内部使用,都可以返回值,并且返回值没有类型和个数的限制不同点:return只能返回一次值;yield可以返回多次值复杂版本:把列表推导式的[]换成()就是生成器表达式 。优点:比起列表推导式,可以省内存,一次只产生一个值在内存中举例:以上就是关于“Python中迭代器与生成器怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。

相关推荐: 怎么使用内联CSS变量进行布局

本篇内容主要讲解“怎么使用内联CSS变量进行布局”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用内联CSS变量进行布局”吧!在深入探讨这些概念之前,首先我们来回顾一下 CSS 变量的基础知识, 我们也可以将它…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/07 19:36
下一篇 05/07 20:26

相关推荐