什么是迭代器对象 --------------------- 迭代器对象就是有一个 next()函数可以调用的对象,这样可以不通过索引来访问。 当你使用一个循环机制(例如 for 语句)需要下一个项时, 调用迭代器的 next() 方法就可以获得它。当条目全部取出后, 会引发一个 StopIteration 异常, 这并不表示错误发生, 只是告诉外部调用者, 迭代已经完成。 迭代器对象经常涉及到的两个函数分别是 * next() 返回迭代器对象的下一项,当取完时,将会引发一个StopIteration异常。 * iter() 返回一个迭代器对象。例如: :: >>> a = [1, 2, 3] >>> b = iter(a) >>> type(b) >>> next(b) 1 >>> next(b) 2 >>> next(b) 3 >>> next(b) Traceback (most recent call last): File "", line 1, in StopIteration 列表a是一个可迭代对象,可以用它来构造一个迭代器对象b, 通过next函数来进行迭代。 迭代到最后会抛出一个StopIteration异常。 参考pep-234(https://www.python.org/dev/peps/pep-0234/)