【Python】yieldの使い方
こんにちは、にわこまです。
今回は、pythonのyieldの使い方について紹介したいと思います。yieldは、returnと似ているところがあり、値を返却する文です。yieldの動きに注目して説明していきます。
誤字脱字や何かございましたらご連絡お願いいたします。
スポンサードサーチ
yield
yieldは、関数の処理を一時停止して値を返します。
一方、returnは関数の処理を終了して値を返します。
図とコードで示します。
test01関数は、「I am a student.」と返されます。
test02関数の1回目の実行では、「I am a college student.」と返されます。
test02関数の2回目の実行では、「I am a college student.I like Python.」と返されます。
test02関数の3回目の実行では、「I am a college student.I like Python.Python is a Programming Language.」と返されます。
※コードや詳しい実行方法は以下のファイルをダウンロードしてください。
【Python】yieldの使い方 サンプルコード
yieldでは、前回返されたyield文の次の1行から関数が実行されます。そのとき、ローカル変数の値は保持されます。
メリット
メモリの使用量を少なく済ませることができる。
例えば、1KBの文字列ファイルを1行ずつ処理するプログラムで、一気に1KB読み込むと1KBの大きさのメモリを消費します。
yieldを使い、1行ずつ読み込み処理すれば、1行分の大きさのメモリを消費するだけで済みます。
デメリット
コードが複雑になる
まとめ
今回は、pythonのyieldの使い方や動作について紹介しました。
yieldは関数を一時停止して、値を返します。関数をもう一度実行するときは、前回値を返したyield文の次の1行から再開されます。
yield文は使う場面が少ないため、動作や使い方を忘れがちです。
yieldは大量のデータを1行ずつなど、ちょっとずつ処理するときに使います。
最後までお読みいただきありがとうございます。
スポンサードサーチ