可迭代对象与迭代器
可迭代对象
可迭代对象是指实现__iter__方法的对象。通俗的来讲,就是在上一次的基础之上,进行这次的实现,可以进行for循环的都是可迭代对象。
迭代工具是可以依次对可迭代对象进行操作,python中所有会从左至右的迭代工具都是如此,这些迭代工具包括:for循环、列表解析、in成员关系测试以及map内置函数等…
可迭代对象一般分为两类:
第一类是:集合数据类型,如list、tuple、dict、set、str等;
第二类是:generator,包括生成器和带yield的generator function。
可以使用isinstance()与Iterable进行结合来判断是不是可迭代对象。
迭代对象
迭代对象是指实现了__iter__与next方法的对象,是可以使用next()方法的对象。
可以使用isinstance()与Iterator进行结合判断是不是迭代对象。
迭代器一定是可迭代对象,但可迭代对象不一定是迭代对象。
可以使用iter()函数,将一个可迭代对象返回成迭代对象,原对象不变。