Pythonでyieldを使用する方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-16 08:45:20
オリジナル
1463 人が閲覧しました

今日他の同僚のコードを見ていたら、未使用の Python キーワードを見つけました: yield

まず同僚に質問して、彼の話を聞いたのですが、漠然とした、漠然とした印象でした。そこで自分で情報を探してみました。長い間見ていると、徐々に明らかになっていきました。ただし、動作メカニズムとアプリケーションについてはまだ少し混乱しています。さて、最初のコンタクトの印象を書き留めてみましょう。

利回りは単なる発電機です。ジェネレーターは、最後に返されたときの関数本体内の位置を記憶する関数です。ジェネレーター関数の 2 番目 (または n 番目) の呼び出しは、関数の途中にジャンプし、すべてのローカル変数は前の呼び出しから変更されないままになります。

関数に yield が含まれていることがわかります。これは、この関数がすでにジェネレーターであり、その実行が他の通常の関数とは大きく異なることを意味します。

これを見てもまだ混乱するかもしれません。最初にいくつかの例を見てみましょう:

コードをコピーします コードは次のとおりです:

def テスト( data_list ):

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() はエラーを報告します

これは収量の第一印象にすぎません。ゆっくり調べてみましょう。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート