Python 为什么for可以循环?

1.为什么for可以循环?

       答:先调用了__iter__()函数。 获取到一个迭代器对象,通过迭代器对象来调用__next__()函数来进行循环

       迭代有两个概念,第一个是__iter__(Iterable),第二个是__next__() (Iterator),协议规定Iterable的__iter__方法会返回一个Iterator, Iterator的__next__方法(Python 2里是next)会返回下一个迭代对象,如果迭代结束则抛出StopIteration异常。

       __iter__(): https://www.cnblogs.com/kamil/p/5206709.html

2.迭代器有了__next__为什么还要__iter__??(因为__iter__只是返回一个迭代对象,而__next__才是迭代的? 所以是否__iter__无用,)

资料 :https://blog.csdn.net/RabbitWatchingStars/article/details/70545943#commentBox,但是看不懂

猜你喜欢

转载自www.cnblogs.com/luohuichun/p/9105242.html
今日推荐