赋值表达式(assignment expression)是Python 3.8新引入的语法,它会用到海象操作符(walrus operator)。这种写法可以解决某些持续已久的代码重复问题。a = b是一条普通的赋值语句,读作a equals b,而a := b则是赋值表达式,读作a walrus b。这个符号为什么叫walrus呢?因为把:=顺时针旋转90º之后,冒号就是海象的一双眼睛,等号就是它的一对獠牙。
fresh_fruit = {
"apple": 10,
"banana": 8,
"lemon":5
}
count = fresh_fruit.get("lemon", 0)
if count > 1:
pass
else:
pass
# 可改写为
if (count := fresh_fruit.get("lemon", 0)) > 1:
pass
else:
pass