Yield と Return は、Python でプログラミングする際に一般的に使用される用語です。 基本的に、これらは関数間で値を渡すために使用されるキーワードです。
ただし、プログラミングの概念を定期的に扱っていない人にとっては、それぞれの違いを理解するのは難しいかもしれません。
主要な取り組み
- Python の Yield はジェネレータ オブジェクトを作成し、メモリを消費せずにイテレータを作成できるようにします。
- Python の Return は、関数を終了し、呼び出し元に値を返します。
- Yield は大規模なデータ セットの効率的な処理を可能にし、return は標準関数の実行に適しています。
Python の利回りと Python のリターン
Python の yield を使用すると、シーケンス全体を一度に生成してメモリに保存する必要なく、大規模なデータ セットや無限シーケンスを効率的に処理できます。Python の return ステートメントを使用すると、関数は呼び出しコードにこの結果を返すことができ、コンソールに出力できます。
Python yield は基本的に、プログラミングで広く使用されるキーワードです。 プログラマーの関数の実行を一時停止します。
これにより、他の変数の状態に影響を与えずに戻ることができます。 関数内で yield キーワードが使用されている場合、その実行は、ステートメントが作成された後にのみ開始されます。これは、中断された場所からです。
一方、python return には非常に似た目的があります。 結果の値をプログラマーに返します。 これがその名前の由来です。 一方、python return には非常に似た目的があります。 結果の値をプログラマーに「返します」。 これがその名前の由来です。
ただし、キーワードは、関数の実行を完全に終了するために使用されます。 さらに、プロセスで使用された場合、それ以降に作成されたすべてのステートメントは実行できません。
比較表
比較のパラメータ | パイソン収量 | パイソンリターン |
---|---|---|
意味 | 他の変数に影響を与えずにプログラマーに値を返すキーワードです。 | 日常の機能でのみ使用されます。 |
実行 | 関数の実行を一定期間一時停止します。 | 関数の実行を終了します。 |
使用法 | ジェネレータ関数でのみ使用されます。 | データ サイズがそれほど重要ではない場合に使用されます。 |
操作 | 返される値は系列の形式です。 | 単一の値のみが返されます。 |
Running: | 関数内で複数回使用できます。 | 関数内で XNUMX 回だけ使用できます。 |
データサイズ | データサイズが大きい場合に使用します。 | データサイズがそれほど大きくない場合に使用されます。 |
速度 | これにより、大規模なデータ セットの実行が高速化されます。 | 大量のデータ セットを高速に実行することは容易ではありません。 |
Python Yield とは?
Yield は、Python で広く使用されているキーワードです。 プログラムの実行を一時停止し、その時点で呼び出し元に一連の値を返します。
さらに、ステートメントが閉じられると、関数は中断したところからすぐに実行を開始します。この間、他のローカル変数はまったく影響を受けません。
ただし、このキーワードはジェネレーター関数でのみ使用されます。 これらは、単一の値を返すことができない特定の関数です。 したがって、それらは完全に Python の利回りに基づいています。
さらに、キーワードは、そのような関数に複数回含めることができます。 これは、プロセスが破棄されず、ローカル変数も破棄されないためです。
Python での yield キーワードの動作は、同様の機能を実行する他のキーワードとは大きく異なります。 反復がある場合、Python でコードが実行されて、yield ステートメントが検索されます。
それに遭遇すると、コードは停止します。 さらに、関数の実行が一時停止している間に、生成された値が呼び出し元に返されます。
データ セットが大きい場合は、Python yield を使用するのが最適です。 このような場合、キーワードは効率と高速実行を容易にします。
Python Return とは何ですか?
Return は Python のもう XNUMX つのキーワードであり、yield と非常によく似た機能を備えています。 ただし、前者とは異なり、実行を「一時停止」するのではなく、完全に停止します。 Return は Python のもう XNUMX つのキーワードであり、yield と非常によく似た機能を備えています。 ただし、前者とは異なり、実行を「一時停止」するのではなく、完全に停止します。
その際、単一の値を呼び出し元に送り返します。 その間、関数全体がローカル変数とともに破棄されます。 これは、実行できなくなったことを意味します。
このキーワードは、日常的な機能でのみ機能します。 ただし、使用できるのはXNUMX回のみです。 これは、使用時にプロセスの残りの部分が破棄されるためです。
これにより、さらにコーディングするスペースがなくなります。 ただし、return ステートメントを使用する特定の関数のみが影響を受けることに注意してください。 残りのコードは問題なく実行できます。
関数でキーワードを使用すると、呼び出し元はデータを効率的に処理できます。 このデータは、メイン プログラムに送信できます。 さらに、同じコードの別の部分で使用することもできます。
ただし、return ステートメントを使用する場合の欠点は、大規模なデータ セットには最適ではないことです。高速では実行されず、時間がかかる場合があります。これは、呼び出し元だけでなく関数全体の生産性にも影響します。
Python Yield と Python Return の主な違い
- Python yield は、他の変数に影響を与えずにプログラマに値を返すキーワードです。 対照的に、python return は、他の変数を破棄しながらプログラマに値を返すキーワードです。
- Python yield は関数の実行を一定期間一時停止しますが、Python return は関数の実行を終了します。
- Python yield はジェネレーター関数でのみ使用されますが、Python return は通常の関数でのみ使用されます。
- python yield の場合、返される値は一連の形式ですが、python return の場合、単一の値のみが返されます。
- Python yield は関数内で複数回使用できますが、Python return は関数内で XNUMX 回しか使用できません。
- データ サイズが大きい場合は Python yield が使用され、データ サイズがそれほど大きくない場合は Python return が使用されます。
- Python yield は大規模なデータ セットの高速実行を促進しますが、Python return は大規模データ セットの高速実行を促進しません。