内部含有_next_和_iter_方法的就是迭代器。
可以被for循环的都是可迭代的,只有是可迭代对象,才能用for循环。
可迭代的内部都有_iter_方法——可迭代协议。
只要是迭代器,一定可迭代。
若A是可迭代的,则A._iter_()方法就可以得带一个迭代器。
迭代器中的_next_()方法可以一个一个的获取值。
有人会问为什么有迭代器,还要用for循环呢?其实for循环使用的就是迭代器。
(1)从容器中一个一个的取值,可以把所有的值都取到。
(2)节省内存空间。
迭代器并不会在内存中占用一大块内存,而是随着循环,每次生成一个,然后每次next给我一个。