iterable/iterator/generator

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容