今日他の同僚のコードを見ていたら、未使用の Python キーワードを見つけました: yield
まず同僚に質問して、彼の話を聞いたのですが、漠然とした、漠然とした印象でした。そこで自分で情報を探してみました。長い間見ていると、徐々に明らかになっていきました。ただし、動作メカニズムとアプリケーションについてはまだ少し混乱しています。さて、最初のコンタクトの印象を書き留めてみましょう。
利回りは単なる発電機です。ジェネレーターは、最後に返されたときの関数本体内の位置を記憶する関数です。ジェネレーター関数の 2 番目 (または n 番目) の呼び出しは、関数の途中にジャンプし、すべてのローカル変数は前の呼び出しから変更されないままになります。
関数に yield が含まれていることがわかります。これは、この関数がすでにジェネレーターであり、その実行が他の通常の関数とは大きく異なることを意味します。
これを見てもまだ混乱するかもしれません。最初にいくつかの例を見てみましょう:
data_list の x の場合:
収量 x + 1
データ = [1,2,3,4]
for y in test( data ):
Print y
2 3 4 5
別の使い方:
ハンドル = テスト(データ)
handle.next() 出力 2
handle.next() 出力 3
handle.next() 出力 4
handle.next() 出力 5
handle.next() はエラーを報告します
これは収量の第一印象にすぎません。ゆっくり調べてみましょう。