python3 9滾燙出爐

2021-10-24 15:28:05 字數 1487 閱讀 9874

python3.9,「千呼萬喚始出來」。

先來速看下此次發布版本的重點。

pep 584,為 dict 增加合併運算子。

pep 585,標準多項集中的型別標註泛型。

pep 614,放寬對裝飾器的語法限制。

pep 616,移除字首和字尾的字串方法。

pep 593,靈活的函式和變數標註。

新增了 os.pidfd_open() ,允許不帶競爭和訊號的程序管理。

pep 573,從 c 擴充套件型別的方法快速訪問模組狀態。

pep 617,cpython 現在使用基於 peg 的新解析器。

pep 615,iana 時區資料庫現在已包含於標準庫的 zoneinfo 模組。

圖的拓撲排序實現現在已由新的 graphlib 模組提供。

為了更好地理解此次更新,twitter上一位16歲少年pratham prasoon,還自製了一張「python 3.9新特性必知圖」。

列出了他認為比較重要的八大新特性,廣受網友好評。

字典合併與更新運算子

此次「字典的合併與更新運算子」的新特性,是python3.9的一大亮點。

合併 (|) 與更新 (|=) 運算子已被加入內建的 dict 類,擴充了現有的 dict.update 和 字典合併方法。

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

新增用於移除字首和字尾的字串方法

在python的官方文件,以及prasoon的圖表中,也著重展示了新的用於「移除字首和字尾的字串」方法。

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

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

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

import()特性修改

import() 現在會引發 importerror 而不是 valueerror。

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

在新增模組方面,zoneinfo模組為標準庫引入了 iana 時區資料庫。

這是乙個基於系統時區資料的實體 datetime.tzinfo 實現,示例如下圖所示。

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

prasoon舉出了他認為比較重要的一項——random。

名為random.random.randbytes的方法,可以用於生成隨機位元組串,如下圖所示。

此外,還有cancel_futures。

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

python 3 9 新特性 簡介

目錄 字典 並集 運算子 型別提示的改善 裝飾器語法更加靈活 classmethod 支援包裝其他描述器 新增模組 函式 方法 參考資料 並集 運算子顧名思義就是給兩個字典取並,並產生新的字典物件。熟悉 collections 標準庫的開發者聽到這一特性想必很容易聯想到 chainmap,兩者的區別...

Python 3 9安裝與使用

作者標語 天地不仁,以萬物為芻狗 安裝步驟 軟體包中有python的最新安裝包,安裝完成以後再cmd命令中進行執行測試 選擇python 3.9.1.exe的執行檔案安裝python 1.安裝python 3.9.1的執行檔案 2.安裝步驟,作者選用自定義安裝。自定義安裝需要自己新增環境變數,2.1...

在anaconda中安裝python3 9 0

漫長的等待終於有了進展,2020年10月15日,anaconda將python3.9部署到了channel中,現在使用者只需要在輸入 conda install python 3.9.0,就能夠體驗到python3.9帶來的新特性了。1 配置新環境 2 conda create n py39 c c...