Python中的迭代器、生成器——10
什么是迭代器 迭代器即迭代的工具 迭代是一个重复的过程,每一次重复即一次迭代,且每次迭代的结果都是下一次迭代的初始值 while True: #这里只是单纯的重复,不是迭代 print('-----') l = [1,2,3] count = 0 while count <= len(l): #这里是迭代 print(l[count]) count += 1 迭代器协议 1、迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 2、可迭代对象:实现了迭代器协议的对象(对象内部定义一个__iter__()方法) 3、协议是一种约定,可迭代对象实现了迭代器协议,python的内部工具(如for循环、sum、min、max函数等)使用迭代器协议访问对象 对于序列类型,如:字符串、列表元组等,我们可以使用索引的方式迭代取出其包含的元素,但是对于无序类型:字典,集合,文件等是没有索引的,所以我们要想取出其内部包含的元素,则必须找出一种不依赖于索引的方式 可迭代对象指的是有内置方法__iter__的对象: 'hello'.__iter__ (1,2,3).__iter__ [1,2,3].__iter__ {'a':1}.__iter__ {'a','b'}.__iter__ {'a','b'}.__iter_