|
首要要明白可迭代对象和迭代器的区别.
一个实现了__iter__方法和__next__方法的对象,就是迭代器。
取迭代器: 迭代器 = iter(对象)
使用next(迭代器)来依次调用下一个可迭代对象(取值)。自动调用__next__方法。
最后还需要 raise StopIteration.
上面三者结合在一起就是for循环
for item in Iterable 循环的本质就是先通过iter()函数获取可迭代对象Iterable的迭代器,然后对获取到的迭代器不断调用next()方法来获取下一个值并将其赋值给item,当遇到StopIteration后循环结束 |
|