持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天
10月更文诚意加码,激发写作潜力|掘金·日新计划 - 掘金 (juejin.cn)点击查看活动详情
迭代器是一种对象,改对象包含值得可计数数字
迭代器时可迭代得对象,这意味着可以遍历所有值
从技术上来讲,迭代器是实现迭代器协议的对象,它包含方法_iter_()和_next_()
迭代器,可迭代对象
列表,元组,字典和集合都是可迭代的对象,他们是可迭代的容器,可以从中获取迭代器(iterator),所有这些对象都是用于获取迭代器的iter()方法
从元组返回一个迭代器,并打引每个值
字符串也是可迭代的对象,包含一系列字符
Stoplteration
如果你有足够的next()语句,或者在for循环中使用,则上面的例子将永远进行下去
为了防止迭代永远进行,我们可以使用stopiteration语句
在_next_()方法中,如果迭代完成指定的次数,我们可以添加一个终止条件来引发错误
在 20 个迭代之后停止
可能到这里还有人不懂迭代器是什么,迭代器到底是什么呢?
顾名思义就是迭代器取值的工具。实现了迭代器协议的对象(内部定义一个_iter_()方法)
如何判断一个对象是不是迭代器,通过dir方法查看其是否具备iter和next方法,来区分哪个是迭代器。
迭代器的优点:节约空间内存,循环过程中,数据不用一次次读入,在处理文件对象时很有用,而且文件也是迭代对象,不依赖索引值