*迭代器协议和for循环工作机制

Posted monster7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了*迭代器协议和for循环工作机制相关的知识,希望对你有一定的参考价值。

迭代定义:每次迭代都依赖于上一次迭代(生孩子),对象就是可以生孩子的

迭代器就是用了iter方法之后的对象!

 

l=[1,2,3]
for i in l:  #i_l=l.__iter_()  i_l.__next__()  #任何一个列表、元组等等都不是可迭代对象,要通过一个iter方法让他们变成可迭代对象,然后执行next方法
    print(i)
index=0
while index < len(l):  #用索引遍历所有元素 但是while只能遍历所有有序的列表 比如 列表 元组  不能遍历字典 集合 文件 因此需要for循环
    print(l[index])
    index+=1

l=[1,2,3,4,5]           #以下是用while循环模拟for循环
diedai_l=l.__iter__()  #for循环干两件事 一是遍历所有元素 二是捕捉异常 也就是元素都遍历完了的情况
while True:
    try:
        print(diedai_l.__next__())
    except StopIteration:
         print(\'迭代完毕了,循环终止了\')
        break
print(next(iter_l)) #next()---->iter_l.__next__()  #next函数 也可以这么用

 

以上是关于*迭代器协议和for循环工作机制的主要内容,如果未能解决你的问题,请参考以下文章

python-迭代器协议和for循环工作机制

迭代器协议和for循环工作机制

迭代器协议和for循环工作机制

迭代器协议和for循环工作机制

Python基础-----迭代器协议和For循环机制

第八篇 迭代器协议和生成器