python的iterable、iterator、generator
可迭代对象iterable 一个拥有 __iter__ 方法的对象,可以使用for循环遍历 可迭代对象有: str 、 list 、 tuple 、 dict 、 set 、 iterator 、 generator 、 file # 判断一个对象是否可迭代 >>> from collections import Iterable >>> isinstance('abc', Iterable) True >>> isinstance(100, Iterable) False 迭代器 一个实现了 __iter__ 方法和 __next__ 方法的对象,就是迭代器 迭代器是可以被 next() 函数调用并不断返回下一个值的对象 iter() 函数通过调用可迭代对象的 __iter__() 方法,获取该对象的迭代器,然后对获取到的迭代器不断使用 next() 函数来获取下一条数据 迭代器有: generator 、 iter(iterable) >>> from collections import Iterator >>> isinstance([1,2], Iterator) # 列表不是迭代器 False >>> isinstance((1,2), Iterator) False >>> isinstance([i for i in range(10)], Iterator)