可以直接作用于for循环的数据类型有以下几种:
一类是集合数据类型,如list、tuple、dict、set、str等;
一类是generator,包括生成器和带yield的generator function
注意:for循环帮我们把集合数据变为一个迭代器[利用iter方法],然后利用next()方法输出,最后帮我们处理异常[循环的终止],for循环本质上就是通过不断调用next()函数实现
这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。
可以使用isinstance()判断一个对象是否是Iterable对象
迭代器的条件: 1. 有iter()方法 2. 有next()方法
生成器都是迭代器,反之则不然
【学习参考】http://www.cnblogs.com/alex3714/articles/5765046.html
【学习参考】http://www.cnblogs.com/yuanchenqi/articles/5830025.html