Python

参考

  1. https://foofish.net/how-for-works-in-python.html

for循环可以迭代一个可迭代(iterable)的对象

原理

  1. 生成这个可迭代对象(实现了__iter__方法的就叫可迭代对象)的迭代器(iter(xx))。
  2. 用迭代器协议(实现了__next__方法)去不断访问对象,捕捉到StopIteration就停止迭代。

好处

for循环遵循迭代器协议去访问对象,这样统一了访问接口,更加通用(这也是协议的好处)。

原文地址:https://www.cnblogs.com/allen2333/p/9373853.html