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、未完待续

 

 

 

 

    

posted @ 2018-06-12 16:03  python成长中  阅读(151)  评论(0编辑  收藏  举报