Python 怎么自定义可迭代对象和迭代器?
实现协议:① 可迭代:__iter__ 返回迭代器;② 迭代器:__iter__(return self)+ __next__(返回下一元素或抛 StopIteration)。示例:class CountDown: def __init__(self, n): self.n = n; def __iter__(self): return self; def __next__(self): if self.n <= 0: raise StopIteration; self.n -= 1; return self.n + 1。注意:迭代器自身可迭代但只能遍历一次;想多次遍历需 __iter__ 每次返回新迭代器。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。