可以直接作用于for循环的对象统称为可迭代对象:Iterable
可以使用isinstence([ ],Iterable)判断一个对象是否是Iterable对象。from collections import Iterable
可以被next()函数调用并不断返回下一个值的对象称为迭代器Iterator。
可以使用Iteraotr判断一个对象是否是迭代器对象。
生成器都是迭代器对象,但是list,dict,str虽然是Iterable,却不是Iterator
把这些变为Iterator可以使用iter()函数。
Iterator对象表示的是一个数据流,我们不能知道它的长度,只有在需要返回
下一个数据时它才会计算。