python学习第四周之迭代器与生成器

1.for循环的适用类型:(1)集合数据类型:list,tuple,dict,set,str(2)generator,包括生成器与带yield的generator function。

由此可知,直接用于for循环的对象统称为可迭代对象:Iterable,即可循环的。

使用isinstance()判断一个对象是否是Iterable对象。

使用方法如下:

>>> from collections import Iterable
>>> isinstance([],Iterable)
True

 2.可被next函数调用的,并不断返回下是一个值的对象,称为迭代器,Iterator

使用isinstance()判断一个对象是否是Iterator对象。

>>> from collections import Iterator
>>> isinstance((x for x in range(10)), Iterator)
True
>>> isinstance([], Iterator)
False

 3.生成器一定是迭代器,生成器都是Iterator对象,但listdictstr虽然是Iterable,却不是Iterator

listdictstrIterable变成Iterator可以使用iter()函数:

>>> isinstance(iter([]), Iterator)
True
>>> isinstance(iter('abc'), Iterator)
True

 完