Pythonに,yieldという構文がある.これは,ジェネレータを生成して返すもの,として定義されているようで,次のコードは,標準入力から一行一行,入力された文字列を返すという動作をする.
このコードを動かすと,標準入力からの入力が求められる.キーボードからなにがしかを入力し,エンターキー(リターンキー)を押すと,下のfor文に記述されている呼び出し元のイテレータがそれを受けて,print()でひとつひとつ出力されていくという次第.処理がいったり来たりするので,通常の関数呼び出しとは少し異なる動作をするので,なかなか慣れないと分かりにくいかもしれない.
ところで,これはごく簡単な例文だが,yieldの効果的な使い方って,何があるだろう?
0 件のコメント:
コメントを投稿