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
对象,但list
、dict
、str
虽然是Iterable
,却不是Iterator
。
把list
、dict
、str
等Iterable
变成Iterator
可以使用iter()
函数:
>>> isinstance(iter([]), Iterator) True >>> isinstance(iter('abc'), Iterator) True
完