可迭代对象(Iterable)
能用for循环遍历的对象就是可迭代对象,例如:
- list
- tuple
- dict
- set
- string
- generator
验证可迭代对象
>>> from collections import Iterable
>>> isinstance('xxx',Iterable)
True
迭代器(Iterator)
能使用next()获取下一个值的对象称为迭代器(Iterator),例如:
- generator
迭代器表示的是一个数据流,有序,不可预知序列长度,可表示无限大的数据流
验证迭代器
>>> next(g)
0
>>> isinstance(g,Iterator)
True
可迭代对象向迭代器转换:iter()
>>> iter('strings_^_^')
<str_iterator object at 0x04F07090>
>>> it=iter('^_^')
>>> isinstance(it,Iterator)
True
>>> isinstance('^_^',Iterator)
False
>>> isinstance('^_^',Iterable)
True