发布网友 发布时间:2023-05-17 23:23
共1个回答
热心网友 时间:2023-09-18 11:13
__iter__
使类实例 Iterable
next()
使类实例 是 迭代器对象
注:『迭代器对象』跟『Iterable』是两个东东哟。
题主提到,for语句来循环,它实际的工作流程是:
先判断被循环的是否是Iterable,如果不是,尽管你实现了next(),它扔不会去调用,会直接报异常
所以,题主提到的
我是这样理解的:首先调用iter获取需要迭代的对象,然后调用该对象的next方法,不知道理解对不对
是对的。只不过,python解释器是严格遵守『先调用iter来获取迭代对象,然后再调用对象next』这个步骤来的,所以,你也必须实现__iter__。
一点拙见