Python 3.8 中引入,利用「海象」運算子(:=) 提供賦值表達式顯著的語言增強,支援在推導式和lambda 中進行賦值。
賦值表達式是形式為 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>
而不是:
賦值表達式允許表達:<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>b) 簡化列表推導式
範例:
以上是什麼是賦值表達式以及它們在 Python 中如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!