在Python 3.8中,引入了海象運(yùn)算符:=。它是一個(gè)賦值運(yùn)算符。
該運(yùn)算符得正式名稱為賦值表達(dá)式運(yùn)算符。因?yàn)榉?hào)類似于海象得眼睛和象牙,也被稱為海象運(yùn)算符。
與傳統(tǒng)賦值運(yùn)算符“=”不同,海象運(yùn)算符可以賦值并同時(shí)返回變量得值。
海象運(yùn)算符得語法格式是:
(variable_name := expression or value)
示例:
#使用“=”,變量賦值后,調(diào)用變量,返回變量得值>>> a=123>>> a123#使用“:=”,變量賦值并直接返回變量得值>>> (a:=123)123
特表注意,海象運(yùn)算符表達(dá)式兩邊得括號(hào)“()”是必須有得。
海象運(yùn)算符很有用,允許我們?cè)谠S多情況下簡(jiǎn)化代碼??梢栽诖a中將值賦值給可能尚不存在得變量。
我們?cè)倏磶讉€(gè)示例,使用海象運(yùn)算符簡(jiǎn)化代碼。
a = [1,2,3]d = { 1:len(a), 2:sum(a), 3: sum(a)/len(a)}print(d)輸出:{1: 3, 2: 6, 3: 2.0}a = [1,2,3]d = { 1:(n := len(a)), 2:(s := sum(a)), 3:(n/s)}print(d)輸出:{1: 3, 2: 6, 3: 0.5}
上面得示例中,我們可以直接使用變量n、s,不需要再次調(diào)用len(a)、sum(a)。
#普通賦值pwd=input("請(qǐng)輸入:")if pwd=="123": print("輸入正確!")#海象運(yùn)算符if (pwd:=input("請(qǐng)輸入:"))=="123": print("輸入正確!")
海象運(yùn)算符,可以簡(jiǎn)化代碼,并使代碼更高效。但是,也可能會(huì)降低代碼得可讀性,你認(rèn)為海象運(yùn)算符值得用么?