【 在 poggy 的大作中提到: 】
:
: 您需要再多学习学习基础知识,:)
: 生成器函数本身就是一种特殊的迭代器。
: ...................
下面是一个不用生成函数版本的实现。
from abc import ABC
class TestForin(ABC):
def __init__(self):
self.for_in = range(1,5)
def __iter__(self):
self.iter_pos = len(self.for_in)*(-1)
return self
def __next__(self):
if self.iter_pos < 0:
ret = self.for_in[self.iter_pos]
self.iter_pos += 1
return ret
else:
raise StopIteration()
if __name__ == "__main__":
f = TestForin()
for x in f:
print(x)
--
FROM 124.126.0.*