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

 

posted @ 2019-01-25 11:18  MarkaiElsa  阅读(108)  评论(0编辑  收藏  举报