python3.8中赋值表达式有什么用

What is the use of Assignment expressions in python 3.8

需要了解的新语法 :=(海象运算符)用于赋值。任何人都可以用简短的例子来解释。

让我们以 What's new in 3.8 文档中的第一个示例为例:

if (n := len(a)) > 10:
    print(f"List is too long ({n} elements, expected <= 10)")

"Normal"赋值是一个语句,它不能用作表达式的一部分。如果没有表达式赋值 ("walrus") 运算符,上面的示例必须类似于

n = len(a)
if n > 10:
    print(f"List is too long ({n} elements, expected <= 10)")

通过表达式赋值,您可以将 n 的赋值与条件结合起来。