迭代器
- 迭代器是一个可以记住遍历的位置的对象。
可迭代对象通过
__iter__方法向我们提供一个迭代器,我们在迭代一个可迭代对象的时候,实际上就是先获取该对象提供的一个迭代器,然后通过这个迭代器来依次获取对象中的每一个数据.那么也就是说,一个具备了
__iter__方法的对象,就是一个可迭代对象。 - 
如何判断一个对象是否可以迭代
 
可以使用 isinstance() 判断一个对象是否是 Iterable 对象:
from collections import Iterable
isinstance([], Iterable)
True
- 
iter()函数与next()函数
 
list、tuple等都是可迭代对象,我们可以通过iter()函数获取这些可迭代对象的迭代器。然后我们可以对获取到的迭代器不断使用next()函数来获取下一条数据。iter()函数实际上就是调用了可迭代对象的__iter__方法。
>>> li = [11, 22, 33, 44, 55]
>>> li_iter = iter(li)   #iter用于获取可迭代对象li的迭代器,返回集合(11, 22, 33, 44, 55)
>>> next(li_iter)
11
- for item in Iterable 循环的本质就是先通过iter()函数获取可迭代对象Iterable的迭代器,然后对获取到的迭代器不断调用next()方法来获取下一个值并将其赋值给item,当遇到StopIteration的异常后循环结束。
 
 
                    
                
                
            
        
浙公网安备 33010602011771号