美文网首页
iterable/iterator/generator

iterable/iterator/generator

作者: idri | 来源:发表于2017-11-10 15:45 被阅读0次

    7、什么是 iterable/iterator/generator

    Iterable 可迭代对象
    列表、元祖、字符串、字典、文件。
    指1.实现了 iter 方法的对象, iter() 返回一个 Iterator, Iterator 实现了next() (在 Python 3 更名为 next) 方法.
    2.如果对象实现了 getitem 方法也是可以的. 如果能成功调用 iter(这个对象) 并返回一个迭代器, 那么 '这个对象' 就是Iterable.

    迭代器(Iterator)
    任意对象,只要定义了next(Python2) 或者next方法,它就是一个迭代器。iter返回迭代器自身。迭代器就是实现了工厂模式的对象
    generator,生成器也是一种迭代器,但是你只能对其迭代一次。这是因为它们并没有把所有的值存在内存中,而是在运行时生成值。你通过遍历来使用它们,要么用一个“for”循环,要么将它们传递给任意可以进行迭代的函数和结构。
    参考:https://foofish.net/iterators-vs-generators.html

    相关文章

      网友评论

          本文标题:iterable/iterator/generator

          本文链接:https://www.haomeiwen.com/subject/ofglmxtx.html