「Python」イテレータと StopIteration 例外のサンプル
書式
raise StopIteration
使用例
class Test: # __iter__の実装 def __iter__(self): self.a = 3 return self # __next__の実装 def __next__(self): if self.a <= 15: x = self.a self.a *= 2 return x else: raise StopIteration #StopIteration 例外 #オブジェクトを生成 cft = Test() res = iter(cft) #for文 print("result as follows:") for x in res: print(x)
実行結果
result as follows:
3
6
12