亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3.9的新功能有哪些

發布時間:2021-10-25 16:30:00 來源:億速云 閱讀:163 作者:iii 欄目:web開發

這篇文章主要介紹“Python3.9的新功能有哪些”,在日常操作中,相信很多人在Python3.9的新功能有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python3.9的新功能有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Python 的新方向

此次更新有兩個重大變化,雖然直觀上不受影響,但要開始注意了:作為一種語言,Python的發展將略有不同。簡而言之,可總結為:

  • Python對解析器的限制

  • 版本更小,迭代更頻繁

1. LL(1) 和 PEG

大約30年前,吉多·范·羅森寫了pgen,這是為 Python  編寫的第一批代碼之一,至今仍被用作Python的解析器。Pgen的編寫基于LL(1)的語法變體,這標志著解析器若要全方位讀取代碼,只需先行令牌。這也基本上說明Python的開發是有限的,因為:

  • 先行令牌限制了語法規則的表現力。

  • 由于當前Python已包含非LL(1)語法,解析器迂回方案繁雜,使過程復雜化。

  • 即使有這些解決方案,情況也很受限。規則可以改變但不能違反。

  • 使用LL(1)特定的左遞歸語法可能會使解析樹分析無限循環,從而導致棧溢出。

基于LL(1)的解析器的這些屬性限制了Python可能實現的價值,而Python  3.9打破了這些限制,這要歸功于閃亮新星PEG解析器,PEP617有所概述。我們不會很快感受到這一點。在Python  3.10出來之前,新解析器不會更改;但之后,Python將會沖破LL(1)的限制,大顯身手。

2. 開發周期

Python3.9的新功能有哪些

Python的發布計劃將從18 個月縮減到 12 個月。

在 3.9 版本發布之前,Python原本的發布計劃是間隔18個月一版的,而現在,它進入了為期12個月的發布時間表[PEP  602]。從前新版本每18個月才亮相一次,現在一年一換。這也意味著Python:

  • 不再一次性上線大量新功能。

  • 變化更循序漸進,但由于新功能的發布,修復將會更快完成。

  • 發布日期更規律,新Python將在每年10月面世。

所以從本質上講,本文主要關注12個月周期內較小的增量變化,而不是每18個月發生的較大變化。與此同時,預計開發速度將保持不變。

二、新功能

1. 類型提示

早在2008年,Python 3就引入了函數注釋——類型提示的前身。它雖然不是特別強大,但是一個重要開端。

Python3.9的新功能有哪些

Python類型提示的實時狀態是多次添加和修改注釋和鍵入的變化累積。

此后又增加了其他功能。如今,3.9版本將各功能與整潔的新語法結合起來,以取得Python類型提示的最新發展。

現在,我們可以輕松地指定變量的預期數據類型。如果寫了一些沒有意義的東西(比如把字符串傳遞給整數),編輯器就會提醒有錯誤產生。雖然不會指出錯誤,但在使用復雜代碼庫時,它可幫了大忙。

在Python中,用“+”連接兩個字符串是絕對有效的。因此,“add_int”函數接收兩個字符串不會引發任何錯誤。

Python3.9的新功能有哪些

無類型提示(左);Python3.9帶類型提示(右)。

有了新的類型提示功能,只需在函數定義的參數中添加 :int,編輯器就會立即識別錯誤。

Python3.9的新功能有哪些

指定預期的輸入和輸出數據類型。

也可以使用->type 語法來確定函數的值輸出類型。

Python3.9的新功能有哪些

可將不同類型結合在一起來創建更復雜的注釋。

不要局限于簡單的預定義類型!

2. 字符串方法

雖然不像其他變化那樣酷,但此方法被使用頻率極高。有兩種用于刪除字符串前綴和后綴的新方法:

"foo bar".removeprefix("fo") [Out]: 'o bar'
"foo bar".removesuffix("ar") [Out]: 'foo b'

3. 合并字典

有兩個新運算符來合并字典。首先是合并運算符 |:

a = {1: 'a', 2: 'b', 3: 'c'} b = {4: 'd', 5: 'e'}c = a | b print(c)[Out]: {1: 'a', 2: 'b', 3: 'c', 4:'d', 5: 'e'}

然后更新運算符就地合并:

a = {1: 'a', 2: 'b', 3: 'c'} b = {4: 'd', 5: 'e'}a |= b print(a)[Out]: {1: 'a', 2: 'b', 3: 'c', 4:'d', 5: 'e'}

到此,關于“Python3.9的新功能有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜兰市| 喜德县| 民勤县| 甘谷县| 屏东市| 乐昌市| 常州市| 军事| 荥经县| 无锡市| 游戏| 确山县| 留坝县| 锡林浩特市| 大方县| 格尔木市| 夏津县| 湄潭县| 宜兰市| 三都| 民和| 太谷县| 吉林省| 来安县| 东平县| 盱眙县| 崇仁县| 长丰县| 海林市| 大厂| 泸州市| 竹山县| 台北县| 三台县| 东乌| 鱼台县| 克山县| 河源市| 丰台区| 云霄县| 江川县|