Pythonにおいて、yieldとreturnの違いは何ですか?

yieldとreturnはどちらも値を返すためのキーワードですが、機能上にはいくつかの違いがあります。

  1. return文は、関数から値を返し、関数の実行を終了するために使用されます。関数内でreturn文が実行されると、関数は即座に実行を停止し、その後ろにある値を返します。複数のreturn文が関数内にある場合、最初に実行されたreturn文だけが有効になります。
  2. yieldは、ジェネレータ関数内で使用され、関数をジェネレータに変換することができます。関数がyield文に到達すると、関数は一時停止して現在の状態を保存し、yieldの後に値を返します。ジェネレータが再度呼び出されると、関数は前回停止した場所から再開し、再びyield文に遭遇するまで実行を続けます。これにより、ジェネレータの怠惰な計算が実現され、メモリ消費が減少します。

要简单地总结一下, return 用于从函数中返回一个值并结束函数的执行,而 yield 则用于生成器函数中,用于生成序列值,实现延迟计算。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds