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

浙公网安备 33010602011771号