在Python 3.8中,引入了海象運算符:=。它是一個賦值運算符。
該運算符的正式名稱為賦值表達(dá)式運算符。因為符號類似于海象的眼睛和象牙,也被稱為海象運算符。
與傳統(tǒng)賦值運算符“=”不同,海象運算符可以賦值并同時返回變量的值。
海象運算符的語法格式是:
(variable_name := expression or value)
示例:
#使用“=”,變量賦值后,調(diào)用變量,返回變量的值>>> a=123>>> a123#使用“:=”,變量賦值并直接返回變量的值>>> (a:=123)123
特表注意,海象運算符表達(dá)式兩邊的括號“()”是必須有的。
海象運算符很有用,允許我們在許多情況下簡化代碼。可以在代碼中將值賦值給可能尚不存在的變量。
我們再看幾個示例,使用海象運算符簡化代碼。
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("請輸入:")if pwd=="123": print("輸入正確!")#海象運算符if (pwd:=input("請輸入:"))=="123": print("輸入正確!")
海象運算符,可以簡化代碼,并使代碼更高效。但是,也可能會降低代碼的可讀性,你認(rèn)為海象運算符值得用嗎?