圖析Python 3.9 八大新特性來嘍

上週,Python 3.9穩定版可謂千呼萬喚始出來。那版本更新後第一件事,就是盤一下哪些新特性了。從Pratham Prasoon小哥的

Python 3.9新特性必知圖,一探究竟吧。

圖析Python 3.9 八大新特性來嘍

字典合併與更新運算符

此次「字典的合併與更新運算符」的新特性,是Python3.9的一大亮點。合併 (|) 與更新 (|=) 運算符已被加入內置的 dict 類,擴充了現有的 dict.update 和 {**d1, **d2} 字典合併方法。

在Prasoon提供的圖中也展示了對應的示例,如下圖所示:

圖析Python 3.9 八大新特性來嘍

新增用於移除前綴和後綴的字符串方法

在Python的官方文檔,以及Prasoon的圖表中,也著重展示了新的用於「移除前綴和後綴的字符串」方法。

str.removeprefix(prefix)和str.removesuffix(suffix)可以方便地從字符串中,移除不需要的前綴或後綴:

圖析Python 3.9 八大新特性來嘍

標準多項集中的類型標註泛型

類型標註

方面,現在可以使用內置的多項集類型(例如 list 和 dict)作為通用類型,而不必再從 typing 導入對應的大寫形式類型名。

圖析Python 3.9 八大新特性來嘍

__import__()特性修改

__import__() 現在會引發 ImportError 而不是 ValueError。

至於原因,在Python的官方文檔中有相應的解釋:後者曾經會在相對導入超出其最高層級包時發生。

圖析Python 3.9 八大新特性來嘍

新增的模塊

在新增模塊方面,zoneinfo模塊為標準庫引入了 IANA 時區數據庫。這是一個基於系統時區數據的實體 datetime.tzinfo 實現,示例如下圖所示。

圖析Python 3.9 八大新特性來嘍

改進的模塊

除了新增的模塊外,Python3.9還對原有的一些模塊進行了改進。

Prasoon舉出了他認為比較重要的一項——Random。名為random.Random.randbytes的方法,可以用於生成隨機字節串,如下圖所示。

圖析Python 3.9 八大新特性來嘍

此外,還有cancel_futures。

Python3.9將新的 cancel_futures 形參,添加到
concurrent.futures.Executor.shutdown(),可以取消尚未開始運行的所有掛起的 Future,而不必等待它們完成運行再關閉執行器。

圖析Python 3.9 八大新特性來嘍

當然,除了這八大新特性外,更為詳細地更新的內容可移步Python官方文檔認真學習哦。

文章部分素材來源:量子位


分享到:


相關文章: