迭代器
迭代器 是用来迭代取值的工具。迭代指的是重复迭代,每一次迭代哦都是基于上次结果来的,单纯的重复不是迭代。 可迭代对象 :凡是内部有__iter__()方法的都是可迭代对象,所有的序列类型:list,str,tuple,dict,set,文件f都是可迭代对象。 如何获取迭代器对象 : 通过可迭代对象.__iter__()得到的返回值就是迭代器对象 例: str1 = 'hello' iter_str1 = str1.__iter__() print(iter_str1) # 得到迭代器对象 print(iter_str1.__next__()) # 通过.__next__()进行迭代取值 ===》 h print(iter_str1.__next__()) # 每执行一次从迭代器对象中取一个值 ===》e 如果迭代器对象中的值被取完,程序会报错,则需要进行捕获异常 例: list1 = [1,2,3,4,5] iter_list1 = list.__iter__() while True: try: print(iter_list1.__next__()) except StopIteration # 通过 try 和 except 捕获异常 迭代器对象的优缺点 : 优点:1.不依赖于索引 迭代取值; 2.节省内存空间 缺点:1.每次取值都只能取当前第一个值