python 迭代器
迭代器
1、什么是迭代器
迭代器即迭代取值的工具
迭代:
迭代是一个重复的过程,每一次重复都是基于上一次的结果而来的
注意:单纯的重复并不是迭代
2.为什么要有迭代器
基于索引的迭代器取值方式指使用于列表、元祖、字符串类型,而对于没有索引的字典、集合、文件则不适用
不依赖索引
文件对象本身就是迭代器对象
可迭代的对象:在python中但凡内置有__iter__方法的对象都是可迭代的对象。
#字符中、列表、元祖、字典、集合、文件都是可迭代的对象
迭代器对象:执行可迭代对象的__iter__方法得到的就是内置的迭代器对象,又内置有__next__方法的对象
例如:
info = {’name‘:"egon","age":18 , "is_beautiful":True, "sex":"male"}
info_iter = info.__iter__()(点__iter__方法得到一个迭代器对象)
res = info_iter.__next__()(调取__next__取值)
一旦迭代器取值干净,再继续取就会抛出StopItertion的错误。
3、for循环:又称迭代器循环:
例如:对文件的操作看案例
with open('a','r',encoding='utf-8') as f: for line in f:#第一次还有值 print(line) for i in f:#第二次就没有值了,因为第一次已经取光了 print(i)
4、未完待续