1. Python3.9 發(fā)布!到底有哪些新特性?

        共 1756字,需瀏覽 4分鐘

         ·

        2020-11-03 09:51


        來自量子位

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

        先來速看下此次發(fā)布版本的重點。

        語法特性

        • PEP 584,為 dict 增加合并運算符。

        • PEP 585,標準多項集中的類型標注泛型。

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

        內置特性

        • PEP 616,移除前綴和后綴的字符串方法。

        標準庫中的特性

        • PEP 593,靈活的函數(shù)和變量標注。

        • 添加了 os.pidfd_open() ,允許不帶競爭和信號的進程管理。

        解釋器方面的改進:

        • PEP 573,從 C 擴展類型的方法快速訪問模塊狀態(tài)。

        • PEP 617,CPython 現(xiàn)在使用基于 PEG 的新解析器。

        • ……

        庫模塊

        • PEP 615,IANA 時區(qū)數(shù)據庫現(xiàn)在已包含于標準庫的 zoneinfo 模塊。

        • 圖的拓撲排序實現(xiàn)現(xiàn)在已由新的 graphlib 模塊提供。

        為了更好地理解此次更新,Twitter上一位16歲少年Pratham Prasoon,還自制了一張「Python 3.9新特性必知圖」

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


        字典合并與更新運算符

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

        合并 (|) 與更新 (|=) 運算符已被加入內置的 dict 類,擴充了現(xiàn)有的 dict.update 和 {**d1, **d2} 字典合并方法。

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

        新增用于移除前綴和后綴的字符串方法

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

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

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

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

        __import__()特性修改

        __import__() 現(xiàn)在會引發(fā) ImportError 而不是 ValueError。

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

        新增的模塊

        在新增模塊方面,zoneinfo模塊為標準庫引入了 IANA 時區(qū)數(shù)據庫。

        這是一個基于系統(tǒng)時區(qū)數(shù)據的實體 datetime.tzinfo 實現(xiàn),示例如下圖所示。

        改進的模塊

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

        Prasoon舉出了他認為比較重要的一項——Random。

        名為random.Random.randbytes的方法,可以用于生成隨機字節(jié)串,如下圖所示。

        此外,還有cancel_futures。

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

        當然,除了這八大新特性外,Python官方文檔也更為詳細地列舉了此次更新的內容。

        感興趣的讀者可以戳文末鏈接做更深入的了解。

        關于作者

        Pratham Prasoon是一位16歲的印度高中生,對金融充滿激情,對編程世界充滿好奇,自稱是一個科學怪才(science geek)

        作為一名編程人員,他認為自己是「工具不可知」類型選手,也就是說,沒有特別唯一是使用的編程語言,而是會根據自己的目的而做出選擇。

        目前,他正在學習React、 Flask、Django和Tensorflow。

        參考鏈接:

        https://docs.python.org/zh-cn/3.9/whatsnew/3.9.html
        https://twitter.com/PrasoonPratham/status/1313392420038483968

        學習Python,關注這個就對了


        瀏覽 38
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 伊人69| 国产女人精品 | 婷婷色综合深爱 | 美女一级黄 | 和老师在教室做h |