迭代

来源:互联网 发布:淘宝hd微淘 编辑:程序博客网 时间:2024/04/30 01:20

迭代:类似循环,每一次重复的过程被称为一次迭代的过程,而每一次迭代得到的结果将会用作下一次迭代的初始值。

迭代器:提供迭代方法的容器,比如列表,元组,字符串,字典,文件都是迭代器

一般for循环可以用来触发迭代

对于迭代,python提供了两个bif: iter()  next() ,同时有对应的两个 魔法方法,是着两个魔法方法实现了这两个bif。、

__iter__()   这个魔法方法是return self,因为它本身就是一个迭代器

__next__() 决定了迭代器的规则


使用iter()得到迭代器,使用next()得到下一个值,当iter()没值之后,python会抛出一个stopiteration的异常

 

while用来实现迭代器: 此处while和for是一样的.  for循环之所以不会抛出异常,是因为for能够自动调用enxt()函数,并探测stopIteration的异常是否会产生


迭代器的亮点是没有终点,可以考虑为其添加一个参数,控制它的范围