二:迭代器
我们在进行for循环的时候,可以被for循环的有
list tuple dic str set range f enumerate等等
那么为什么能够使用for循环呢
可迭代协议:只要含有__iter__方法的都是可迭代的
迭代器协议:含有__next__和_iter__方法的就是迭代器
只要是迭代器 一定可迭代
可迭代.__iter__就可以得到一个迭代器
迭代器的.__next__方法可以一个一个获取值
for循环就是在使用迭代器,会先把给的变量使用__iter__方法,变成一个迭代器
每次取值的时候使用的是迭代器的.__next方法获得