码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-02-16 19:28:01      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:next   一个   迭代器   必须   异常   答案   bsp   递归   class   

一、递归和迭代

举个例子

递归:假如我去问路,路人甲看我长得盛世容颜,但是他不知道,他就去帮我问路人乙去了,路人乙跟路人甲说我也不知道,但一看路人甲美若天仙,就说,我去帮你问问路人丙,。。。完了可能得到答案

迭代:依然是问路,我去问路人甲,路人甲一看我长得车祸现场,就说我不知道,你去问问路人乙去吧。。。

二、什么是迭代器协议?

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循环工作机制

标签:next   一个   迭代器   必须   异常   答案   bsp   递归   class   

原文地址:https://www.cnblogs.com/charon2/p/10388836.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!