请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

1回答

bobby 2019-07-07 13:34:58

因为在python的所有迭代场景中所作用的对象必须是可迭代对象(Iterable),因此迭代器(Iterator)要想在迭代场景中使用,就必须是Iterable对象;要成为Iterable对象就必须遵守Iterable协议,通过实现__iter__函数来满足Iterable协议,从而成为Iterable对象。个人认为,迭代器实现__iter_函数的目的是为了兼容python已有的迭代场景和工具,例如:for循环、列表解析、map、sum、zip等等。

如果迭代器不实现__iter_方法的话,上述函数和工具都无法用来对该迭代器进行迭代,只能通过人工调用next()方法来进行迭代,这与python "简洁统一" 的设计原则是相违背的,所以迭代器要实现__iter__方法。


1 回复 有任何疑惑可以回复我~
  • 提问者 qq_橘子_23 #1
    明白了,谢谢老师!
    回复 有任何疑惑可以回复我~ 2019-07-08 07:45:25
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信