迭代器\生成器

迭代器的好处:

      (1) 从容器类型中一个一个取值,会取到所有的值

      (2) 节省内存空间:

            (1) 不会占用大量的内存,二十随着循环每次生成一个

            (2) 每次next 给一个

迭代器:

    可迭代的 -- 可迭代协议 含有__iter__的方法('__iter__' in dir(data))

    可迭代一定能被循环

    迭代器协议: 含有__iter__和 __name__两种协议

    迭代器一定可以迭代,可迭代的通过调用iter() 方法就能得到一个迭代器

 

生成器:

    1. 本质就是迭代器

    2. 含有yield关键字的函数就是生成器函数

    3. 特点:

        (1) 调用函数之后函数不执行, 返回一个生成器

        (2) 每次调用next方法的时候会取一个值

        (3) 直到取完最后一个,在执行next会报错

   

posted on 2018-08-28 16:21  偷悄悄的放个屁  阅读(71)  评论(0编辑  收藏  举报

导航