Python3.9又更新了:dict內置新功能,正式版十月見面

機器之心報道

參與:一鳴、Jamin

Python3.8 的熱乎勁還沒過去,Python 就又雙叒叕要更新了。近日,3.9 版本的第四個 alpha 版已經開源。從文檔中,我們可以看到官方透露的對 dict、math 等組件增加的新特性,以及下一步的開發進展。

Python3.9又更新了:dict內置新功能,正式版十月見面


自公開了 3.8 版本後,Python 的迭代依然在繼續。目前是 Python3.9,這是一個正在開發的 Python 版本。其最新的 alpha 4.0 版本——3.9.0a4 已經公開。公開這一版本的原因是希望幫助開發者儘快測試新特性、修復 bug 並測試開源流程。在這一階段,新特性還在增加,直到迭代到 beta 版本,甚至是候選版本。官方表示,當前版本不推薦應用到生產環境中,以免對業務造成影響。

開源地址:https://www.python.org/downloads/release/python-390a4/

Dict 有新功能,更靈活的函數和變量註解

和 3.8 版本相比,Python3.9 會有以下新特性:

  1. Dict:增加 Union 計算;
  2. 靈活的函數和變量註解;
  3. Python 從 3.9 開始會有穩定的年度更新模式;
  4. 垃圾回收可以應用於重用的對象上;
  5. 增加 os.pidfd_open,使得進程管理不需要 race 和 signal;

其他重要新特性

字典合併及操作符更新:

合併 (|) 以及更新 (|=) 操作符已歸為內置的 dict 類別中

Import Error:

__import__() 現在反饋的是 ImportError 而不是 ValueError , 這個錯誤之前常發生在相對導入超過其頂層包的情況中。

math:

擴展了 math.gcd() 函數以便可以處理多個參數。而之前版本,它只支持處理兩個參數。

添加 math.lcm() 函數,用以返還指定參數的最小公倍數。

添加 math.nextafter() 函數,在面向 x 指向 y 後返還下一個浮點值。

添加 math.ulp() 函數,用以返還最小有效位的浮點值。

其他優化

優化了用於分配及理解中的臨時變量慣用語。現在理解中的 for y in[expr] 與簡單分配的 y = expr 一樣快,比如 :

sums = [s for s in [0] for x in data for s in [s + x]]


與 := 操作符不同的是,這種習慣用法不會將變量洩露至外部的作用域中。

Python3.9又更新了:dict內置新功能,正式版十月見面


據悉,Python 3.9 將會繼續開發,官方打算在 5 月 18 日推出第一個 beta 版本,第一個候選版本會在今年 8 月上旬放出,而最終版的公開時間定於 10 月 5 日。機器之心將會跟進報道。

參考鏈接:https://docs.python.org/3.9/whatsnew/3.9.html


分享到:


相關文章: