Python 3.8 で導入された、"walrus" 演算子 (:=) を利用した代入式は、言語の大幅な機能強化により、内包表記とラムダ内での代入が可能になりました。
代入式は、name := expr という形式の名前付き式です。ここで、name は識別子、expr は任意の有効な式。式は expr の値として評価され、同時にその値を name に割り当てます。
代入式を追加する主な動機は次のとおりです。
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 ではどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。