迭代器协议和for循环工作机制
Posted charon2
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器协议和for循环工作机制相关的知识,希望对你有一定的参考价值。
一、递归和迭代
举个例子
递归:假如我去问路,路人甲看我长得盛世容颜,但是他不知道,他就去帮我问路人乙去了,路人乙跟路人甲说我也不知道,但一看路人甲美若天仙,就说,我去帮你问问路人丙,。。。完了可能得到答案
迭代:依然是问路,我去问路人甲,路人甲一看我长得车祸现场,就说我不知道,你去问问路人乙去吧。。。
二、什么是迭代器协议?
1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中得下一项,要么引起一个stoplteration异常,以终止迭代
2.可迭代对象:实现了迭代器协议的对象,
3.迭代是一种约定。可迭代对象实现了迭代器协议,python的内置工具如for循环,max,min,sum。等函数,使用迭代器对象访问
三、python中强大的for循环机制
# x=‘hello‘ # # print(dir(x)) # iter_test=x.__iter__() # # print(iter_test) # print(iter_test.__next__()) # print(iter_test.__next__()) # print(iter_test.__next__()) # print(iter_test.__next__()) # print(iter_test.__next__()) # print(iter_test.__next__()) # l=[1,2,3] # for i in l: #i_l=l.__iter_() i_l.__next__() # print(i)
以上是关于迭代器协议和for循环工作机制的主要内容,如果未能解决你的问题,请参考以下文章