Python 生成器, 迭代器, 可迭代对象的区别

1.可迭代对象

  在python中, 一切皆对象, 但凡是可以用for循环进行遍历取值的对象都可以称之为可迭代对象, 可迭代对象在程序的一个执行周期中,可以无限轮次的进行循环遍历

 

2.迭代器

  a.一个可迭代对象主要包含两个部分

    1)序列    2)迭代器

  b.一个可迭代对象通过__iter__()便可以获得一个迭代器, 这个迭代器可以通过for进行循环取值, 迭代器的遍历只可以向前不可以向后(序列),也就是说一个迭代器,遍历取值完以后就会被销毁.

  c.迭代器必须实现next()方法, 每调用一次next()方法,就会取出一个数值,当取完值以后,如果继续调用next()方法就会抛出异常, for 内部就实现了next()方法, 并进行了异常的处理

  d.可迭代对象是将数据全部保存在内存中, 而使用迭代器, 可以在需要使用时,再进行遍历取值, 节省内存开销

3.生成器

  一个生成器就是一个特殊的迭代器,只需要一个yield关键字就可以实现一个生成器, 生成器一定是迭代器,但迭代器不一定是生成器

 

posted @   lowmanisbusy  阅读(831)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示