1.可迭代对象:可以直接作用于for循环的对象(Iterable对象),可以用isinstance()方法去判断一个对象是否是可迭代对象.(使用该方法前要用from collections import Iterable代码来导包)
2.可迭代对象的类别:
(1)集合数据类型:如list,tuple,dict,set和string
(2)generator,包括生成器和yield的generator function
3.迭代器:不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后抛出一个stopIteration错误表示无法继续返回下一个值
4.可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator对象)
5.可以使用isinstance()函数判断一个对象是否是Iterator对象(也要导包:from collections import Iterator)
6.迭代器不等于可迭代对象
7.转成迭代器(Iterator对象)
a = iter([1, 2, 3, 4, 5])
print(next(a))
8.迭代器的使用案例:
endStr = "end"
str = ""
for line in iter(input, endstr):
str += line + "\n"
print(str)