Python迭代对象、迭代器与生成器
关系图
一个具备__iter__()方法的对象,就是一个可迭代对象,但是要成为一个正常的可迭代对象那么就需要遵循协议。这个方法必须返
回一个迭代器。
可迭代协议: 含__iter__()方法。且可迭代对象中的__iter__()方法返回的是一个对应的迭代器。(如list对应的迭代器就是
list_iterator)
以下代码MyList 实现了__iter__方法,说明这个是一个可迭代对象,而不是一个迭代器。但这个不是一个真正的迭代对象,因为没
有返回一个迭代器,也就是没有遵循协议。
python学习交流Q群:906715085#### 1.迭代是Python最强大的功能之一,是访问集合元素的一种方式。 2.迭代器是一个可以记住遍历的位置的对象。 3.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 4.迭代器有两个基本的方法:iter() 和 next()。
- 字符串,列表或元组对象都可用于创建迭代器:
- 查看迭代器源码类,可以看到整个类实现了__iter__和__next__两个魔法方法。
注意事项:
2.因为生成器(generator)一定是迭代器,所以生成器也是一种懒加载的模式生成值(即需要用的时候才会生成数据,不需要的时候不会生成)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具