11.22 Python3.8新特性-- 海象操作符

“理論聯繫實惠,密切聯繫領導,表揚和自我表揚”——我就是老司機,曾經寫文章教各位怎麼打拼職場的老司機。

不記得沒關係,只需要知道:有這麼一位老司機,

穿上西裝帶大家打拼職場!

操起鍵盤帶大家打磨技術!

2019年10月中旬,Python 3.8發佈了。

英語好的Python愛好者,可以看看官宣:

https://docs.python.org/3.8/whatsnew/3.8.html

今天老司機給大家介紹一個Python3.8中,比較有爭議的新運算符,海象運算符(Walrus)。

海象運算符,其實只是冒號和等號在一起,就像這樣:“:=”。是不是像海象的一雙眼睛和一對獠牙?

Python3.8新特性-- 海象操作符

這個新運算符(:=)使我們能夠將值賦給表達式中的變量。

簡單粗暴地講,將計算結果賦值給某個變量,再判斷這個變量。

我們來舉個栗子:

本來應該是下面這樣一段簡單程序。

list1 = [1,2,3,4,5]

b = len(list1)

if b > 3:

print(“larger than 3”)

使用了海象運算符,兩行並一行,就變成了這樣了:

list1 = [1,2,3,4,5]

if b := len(list1) > 3:

print(“larger than 3”)

## 運行結果:

larger than 3

必須是Python 3.8上才能運行通過的。

再看個例子:

list1 = [1,2,3,4,5]

if c := ( 3 in list1) :

print(“found”)

else:

print(“not found”)

## 運行結果:

found

必須是Python 3.8上才能運行通過的。

有興趣的可以看看PEP 572,鏈接:

https://www.python.org/dev/peps/pep-0572/

寫得比較高大上 ^_^

一定記住:

海象運算符不向前兼容!

海象運算符不向前兼容!!

海象運算符不向前兼容!!!

也就是說,如果沒升級到Python 3.8的小夥伴,還是不要嘗試“:=”了。

使用PyCharm的用戶,即使已經升級了Python到3.8,而且更新了PyCharm裡面的解釋器配置,還是會遇到如下語法報錯問題:

Python3.8新特性-- 海象操作符

看看解釋器的顯示:

Python3.8新特性-- 海象操作符

直接執行程序是不報錯的,或者在Python IDLE裡面也是正常的。

Python3.8新特性-- 海象操作符

但是畢竟紅色波浪線看起來很不舒服。

老司機告訴各位一個簡單粗暴的辦法——升級PyCharm到最新版本

一切解決!

Python 3.8嚐鮮版,體驗Walrus運算符,到此結束。

至於是否升級到Python 3.8,老司機建議:

Python不是時尚衣物和飾品,如果用的Python 3.*還好好的,沒必要追新。

PS:怎麼搞定PyCharm專業版註冊,百度一下你就知道了。

作  者:Testfan Arthur

出  處:微信公眾號:自動化軟件測試平臺


分享到:


相關文章: