python3.8特性之一、海象運算符:=

背景

我們往往會有這樣的需求:

a = [1,2,3]
b = len(a)  # 把a(bǔ)的長度賦值給變量b
if b > 2:  # 使用變量b
  print(f'長度大于2, 長度是{b}')  # 使用變量b

上面這種實現(xiàn)沒問題,但是如果我們想要追求代碼的簡潔,比如說,我不想要額外一句代碼來用變量b來接收a的長度值,而是想要在第一次使用到len(a)的同時賦值給一個變量b。這種情況就用到了python3.8以后提供的新特性之一:海象運算符

也有人說,上面的len(a)很簡單,那我可以直接使用來進(jìn)行參與邏輯:

a = [1,2,3]
if len(a)> 2:  # 使用變量b
  print(f'長度大于2, 長度是{len(a)}')  # 使用變量b

這種用法不建議,因為增加了運算所占用的內(nèi)存和空間

海象運算符 :=

  • 作用
    是把某個表達(dá)式的結(jié)果,賦值給一個變量
  • 還是上面的例子,進(jìn)行改造
a = [1,2,3]
# b = len(a)  # 把a(bǔ)的長度賦值給變量b
if (b:=len(a)) > 2:  # 把a(bǔ)的長度賦值給變量b
  print(f'長度大于2, 長度是{b}')  # 使用變量b
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容