Python3-迭代器

迭代器概念:
        迭代是访问集合元素的一种方式,迭代器是一个可以记住遍历的位置的对象,
        特点:
            迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束
            迭代器只能往前不会后退
 
        可以被next()函数调用并不断返回下一个值得对象称为迭代器:Iteration
 
        提问:可迭代的 是不是肯定就是 迭代器?
        答案:生成器是可迭代的,也是迭代器;
              list是可迭代的,但不是迭代器
 
 
        注意:通过iter()函数,可以将可迭代的变成一个迭代器
 
 
生成器 是 迭代器 的一种
 
 
 
生成器都是迭代器,但迭代器不一定是生成器!
 
什么叫迭代?
    字符串、列表、元组、字典、集合都可以被for循环,说明他们都是可迭代的
 1 from collections import Iterable
 2  
 3 list_1 = [1,2,3,4,5]
 4 tuple_1 = (1,2,3,4,5)
 5 dict_1 = {'A':'1','B':'b'}
 6 set_1 = {1,2,3,4}
 7  
 8 print(isinstance(list_1,Iterable))     # True
 9 print(isinstance(tuple_1,Iterable))    # True
10 print(isinstance(dict_1,Iterable))     # True
11 print(isinstance(set_1,Iterable))      # True

 

    
什么是迭代器?
    满足两个条件:1.有iter方法 2.有next方法
 
总结:
    迭代器遵循迭代器协议:必须拥有__iter__方法和__next__方法。
    可迭代,内部必须有一个__iter__方法。
    只要是迭代器 一定可迭代
    可以被for循环的都是可迭代的
    可迭代的对象.__iter__()方法就可以得到一个迭代器
    迭代器中的__next__()方法可以一个一个的获取值
 
 
posted @ 2020-05-31 13:46  闹点小情绪q  阅读(94)  评论(0编辑  收藏  举报