raise StopIteration
usingとreturn
ジェネレーターのステートメントの違いに興味があります。
たとえば、これら 2 つの機能に違いはありますか?
def my_generator0(n):
for i in range(n):
yield i
if i >= 5:
return
def my_generator1(n):
for i in range(n):
yield i
if i >= 5:
raise StopIteration
より「pythonic」な方法は2番目の方法だと思いますが(間違っている場合は修正してください)、両方の方法でStopIteration
例外が発生することがわかります。