Python 3.8 引入了一个新概念,称为“赋值表达式”,使用“:=”运算符,通常称为“海象”运算符。
赋值表达式采用 name := expr 的形式,其中 expr是任何有效的 Python 表达式,名称是标识符。语义是表达式的值赋给 name,赋值表达式的值也与 expr 相同。
主要动机引入赋值表达式的目的是在以前禁止的列表推导式和 lambda 函数等结构中启用赋值。它还有助于交互式调试,无需代码重构。
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中文网其他相关文章!