ホームページ >バックエンド開発 >Python チュートリアル >Pythonでのnextとsendの使い方の紹介(コード)
この記事では、Python での next と send の使い方 (コード) を紹介します。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。
def a(): print('aaa') p = yield '123' #print(p) print('bbb') r = a() print(next(r)) #print(r.send(None)) #使用next(r) 和 r.send(None)输出的结果都是 #注意的是,这里的p变量的值都是None aaasend のパラメータが None でない場合、yield xx は表現とみなされ、send のパラメータの値が p に代入され、その後の動作は next と同じになります。
#
def a(): print('aaa') p1 = yield '123' print('bbb') if (p1 == 'hello'): print('p1是send传过来的') p2= yield '234' print(p2) r = a() next(r) r.send('hello') #结果为 aaa bbb p1是send传过来的実行順序について説明します。まず、a() はジェネレーターであり、最初の実行は next(r) または r.send(None) です。 use r.send('xxxxx') ;これによりエラーが報告されます。初めて next(r) を実行すると、最初に aaa, が出力され、yield に遭遇したときに飛び出し、r.send('hello') が実行されると、p1 が代入されますこんにちは、そして最後の実行を続行し、次のステップで bbb を出力し、次に 'p1 は送信によって渡されます' を出力します。2 番目の yield に再び遭遇するとジャンプするため、結果は 3 行のみ出力されます。後続の p2 は実行されません。
以上がPythonでのnextとsendの使い方の紹介(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。