通过前面章节的学习,读者应该知道了在Python中能够用于for循环的对象如下:
· 集合数据类型,如字符串、列表、元组、字典和集合;
· 生成器,包括生成器表达式和生成器函数。
所有这些能够用于for循环的对象均被称为 可迭代对象(Iterable) 。判断一个对象是否为可迭代对象可以使用isinstance()方法,即
在所有可用于for循环的对象中,生成器可以被next()函数不断调用并生成下一个值,直到抛出StopIteration错误表示无法继续为止。
像生成器这种可以被next()函数调用并不断生成下一个值的对象被称为 迭代器(Iterator) 。
可以使用isinstance()判断一个对象是否是迭代器,即
对于不是迭代器的可迭代对象,可以使用iter()函数将其变为迭代器,即
可以使用for循环遍历迭代器,即
执行结果为
也可以使用next()函数遍历迭代器,即
执行结果为