:= 赋值表达式是 Python3.8 新引入的语法,因为很像海象的眼睛和长牙,也叫做 海象运算符
赋值表达式 通过 := (海象运算符)给变量赋值,并让这个值成为这条表达式的结果
用在 if/else 分支
常规例子
1 2 3 4 5 6 7 8 9 10 11
| fruit_quantity = { 'apple': 7, 'banana': 5 }
fruit_name = 'orange' count = fruit_quantity.get(fruit_name, 0) if count: print(f'水果:{fruit_name}\n数量:{count}') else: print(f'{fruit_name} 该补货啦')
|
:= 赋值表达式
1 2 3 4 5 6 7 8 9 10
| fruit_quantity = { 'apple': 7, 'banana': 5 }
fruit_name = 'orange' if count := fruit_quantity.get(fruit_name, 0): print(f'水果:{fruit_name}\n数量:{count}') else: print(f'{fruit_name} 该补货啦')
|
新代码读起来清晰很多,因为明确了 count 变量只与 if 块有关
用在 while 循环
常规例子
1 2 3 4
| count = 5 while count: print(f'count:{count}') count -= 1
|
:= 赋值表达式
1 2 3
| count = 5 while count := count-1: print(f'count:{count}')
|
其他例子可以去官方看看