from collections import Iterable,Iterator
一、可迭代对象(Iterable):可以直接用于for循环的对象统称为可迭代对象,可以用isinstance()去判断一个对象是否为Interable对象
1、集合数据类型,如,list、tuple、dict、set、string
2、是generator,包括生成器和带yield的generator function
print(isinstance([],Iterable)) 返回True
print(isinstance((x for x in range(10)),Iterable)) True
二、迭代器(Iterator):可以被next()函数调用并不断返回下一个值的对象
不仅可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后抛出StopIteration错误并无法继续返回下一个值
可以用isinstance()去判断一个对象是否为Interator对象
print(isinstance([],Interator)) 返回False
print(isinstance((x for x in range(10)),Interator)) True
三、装成Iterator对象 iter()