简介
可以直接作用于for循环的对象统称为可迭代对象(可迭代可以理解为可循环):Iterable
可以被__next__()函数调用并不断返回下一个值得对象成为迭代器:Iterator
可以使用isinstance()函数判断一个对象是否是Iterator或者是Iterable
from collections import Iterator
from collections import Iterable
生成器都是迭代器对象,但list、dict、str虽然是可迭代对象,却不是迭代器,因为这三个数据类型里面都没有__next__()函数调用下一个元素,或者说这三者里没有yield语句返回下一个值