1.迭代器与可迭代对象
1. 迭代器:
① iterator是一个表示数据流的对象。重复调用迭代器的__next__()方法(或将迭代器传递给内置函数next())将返回数据流中的连续项。当没有数据可访问时,将会引发一个StopIteration异常。这个时候,迭代器对象已耗尽,后续任何对__next__()方法的进一步调用都将会再次引发StopIteration异常。
② 迭代器需要有一个__iter__()方法,iter()方法返回迭代器对象本身,所以任何一个迭代器都是可迭代对象,并且可以在在大部分接受可迭代对象的地方使用。一个值得注意的列外是尝试多次迭代传递的代码。
2. 迭代对象
iterable是一个能够一次返回其一个成员的对象。可迭代对象包括所有的序列类型(如list, str, tuple)、一些非序列数据类型(如dict, file objects )、所有定义了__iter__()方法的类对象、所有定义了实现序列语义的__getitem__()方法的类对象。
2.迭代判断方法
1.判断是不是可以迭代,用Iterable
from collections import Iterable
isinstance({}, Iterable) --> True
isinstance((), Iterable) --> True
isinstance(100, Iterable) --> False
2.判断是不是迭代器,用Iterator
from