迭代协议

对象必须提供一个__next__()方法,执行该方法要么返回迭代中的下一项,要么就触发一个 StopIteration 异常,以终止迭代(只能往后走不能往前退) 

迭代对象

已经实现迭代器协议的对象(对象内部定义了一个__iter__()方法),如:with open(‘result.txt’,’r’,encoding=’utf8’) as file,file.__next__()

可迭代对象

可通过iter(obj)生成迭代对象,如:列表、元组、字典、字符串…; iter_list=iter(list)  iter_list.__next__或next(iter_list)

迭代工具

for   列表推导   map…,for i in range(1,5);[x**2 for x in range(1,5)],map(function_name,iterable_object)

内置可迭代对象

range()、map()、zip(),result=zip([‘x’,’y’,’z’],[1,2,3])已实现__next__()方法

posted on 2019-08-09 16:02  *赤子之心*  阅读(81)  评论(0)    收藏  举报