Python 参考 https://foofish.net/how-for-works-in-python.html for循环可以迭代一个可迭代(iterable)的对象 原理 生成这个可迭代对象(实现了__iter__方法的就叫可迭代对象)的迭代器(iter(xx))。 用迭代器协议(实现了__next__方法)去不断访问对象,捕捉到StopIteration就停止迭代。 好处 for循环遵循迭代器协议去访问对象,这样统一了访问接口,更加通用(这也是协议的好处)。