python开发之路---第二模块--迭代器
可以循环的数据类型,也可以称为可以作用于for循环的数据类型有----
1、第一类:集合数据类型(list,tuple,set.dict.str)
2、生成器(generator),包括生成器和带yield的generator function
如上这些可以直接作用于for循环的对象统称为可迭代对象: Iterable
可以使用isinstance() 来判断是否是可迭代对象;
1 from collections import Iterable 2 3 print(isinstance('abc',Iterable)) # 打印结果为True ,就是可迭代
** 可以被next()函数调用的并不断返回下一个值的对象称为迭代器 :Iterator
1 from collections import Iterator 2 3 print(isinstance((x for x in range(10)),Iterator))
总结:
1、凡是可以for循环的都是Iterable(可迭代对象)类型
2、凡是可以用next()函数的对象都是Iterator(迭代器对象),他是一个惰性计算的序列
3、但是列表,字典,字符串释然是Iterable,却不是Iterator。但是可以用Iter()函数将之改为Iterator