私は、発電機でraise StopIteration
とreturn
のステートメントを使用する違いについて興味があります。発電機のStopIterationと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
は(私が間違っている場合は、私を修正してください)第二の方法ですが、私の知る限り、両方の方法はStopIteration
例外を発生させます。
明示的または暗黙的な( '末端オフ') 'return'は、発電を停止することを意図するものである方法。 PEP 479が承認された場合、 'raise StopIteration'バージョンは最終的には機能しません。 –