概述
迭代器实现原理:类同时实现了 __iter__() 、__next__() 方法
__iter__()
实现 __iter__() 方法,返回 迭代器 对象,就可用于 for ... in 语句
在 for ... in 语句中,首先执行 __iter__() 方法,仅 执行一次
注意: while 语句 不会调用 __iter__() 方法
__next__()
实现 __next__() 方法后,可支持2个功能:
for...in...语句就会不断调用该迭代器对象的__next__()方法,获取下一个值,直到遇到StopIteration异常时退出循环。通过
next()方法 获取下一个值,直到抛StopIteration异常。
注意:也就是说 for...in... 语句中会获取该迭代对象的下一个值,next()方法 也会获取该迭代对象的下一个值,所以 不要同时使用