1、可迭代:主要包括两类,一类是集合类型数据:list tuple dict set str
一类是generator包括生成器和带yield的generator function
2、判断是否是可迭代
from collections import Iterable
isinstance([], Iterable)
3、迭代器
可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator
可以使用
from collections import Iterator
isinstance((x for x in range(10)), Iterator)
生成器一定是迭代器,但是迭代器不一定是生成器
可迭代对象并不一定是迭代器
会游泳的人并不一定是鱼类,但是会游泳
鱼是会游泳的鱼类,是由这个类别产生的
迭代器是由这个对象产生的
4、可迭代可以通过使用iter()转化为迭代器(可迭代对象)