*迭代器协议和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循环工作机制的主要内容,如果未能解决你的问题,请参考以下文章