Python 3.8 では、「:=」演算子を使用した「代入式」として知られる新しい概念が導入されました。 、一般に「セイウチ」演算子と呼ばれます。
代入式は name := expr の形式になります。ここで exprは任意の有効な Python 式であり、name は識別子です。セマンティクスは、式の値が name に割り当てられ、代入式の値も expr と同じであるということです。
主な動機代入式の導入により、以前は禁止されていたリスト内包表記やラムダ関数などの構造内での代入が可能になりました。また、コードのリファクタリングを必要とせずに対話型のデバッグも容易になります。
a) 条件値の取得:
前:
<code class="python">command = input("> ") while command != "quit": print("You entered:", command) command = input("> ")</code>
後:
<code class="python">while (command := input("> ")) != "quit": print("You entered:", command)</code>
b) リスト内包表記の簡略化:
前:
<code class="python">[(lambda y: [y, x/y])(x+1) for x in range(5)]</code>
後:
<code class="python">[[y := x+1, x/y] for x in range(5)]</code>
代入式はいくつかの点で通常の代入と異なります。
以上が代入式とは何ですか? Python 3.8 ではどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。