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