ホームページ >バックエンド開発 >Python チュートリアル >Python 3.3 の「yield from」の多様な使用例とその利点は何ですか?
"yield from" は特に証明されています
ジェネレーターからのデータの読み取り:
<code class="python">def reader(): for i in range(4): yield '< ' + str(i) for i in reader(): print(i) # Prints '< 0', '< 1', '< 2', '< 3'
「yield from」は、生成されたデータを反復処理する便利な方法を提供します。
コルーチンへのデータ送信:
<code class="python">def writer(): while True: w = (yield) print('> ', w) w = writer() for i in range(4): w.send(i) # Prints '> 0', '> 1', '> 2', '> 3'</code>
「yield from」により、「ライター」コルーチンがシームレスにデータを受信できるようになります。外部ソースから送信されます。
「yield from」は、ある意味でマイクロスレッドの動作を反映しています。それ:
「yield from」の実際的な応用例の 1 つは、データの読み取りと書き込みを 1 つの関数に結合することです。次の例を考えてみましょう。
<code class="python">def data_handler(): for i in reader(): yield from writer(i) for i in data_handler(): print(i) # Prints the data written by 'writer'</code>
「data_handler」関数は、「yield from」を使用して、「reader」ジェネレーターから「writer」コルーチンにデータを順番に渡し、合理化されたデータ処理パイプラインを作成します。
以上がPython 3.3 の「yield from」の多様な使用例とその利点は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。