成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

新方向、新功能:Python3.9 完整版面世了

開發 前端
很顯然,Python3.9是標志這一著名編程語言從舊路線演化到新路徑的轉折點。本文就將帶大家探索其新功能,了解Python的未來走向。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。

很顯然,Python3.9是標志這一著名編程語言從舊路線演化到新路徑的轉折點。本文就將帶大家探索其新功能,了解Python的未來走向。

[[349632]]

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. 開發周期

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

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

  • 不再一次性上線大量新功能。
  • 變化更循序漸進,但由于新功能的發布,修復將會更快完成。
  • 發布日期更規律,新Python將在每年10月面世。

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

二、新功能

1. 類型提示

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

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

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

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

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

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

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

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

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

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

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

2. 字符串方法

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

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

3. 合并字典

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

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

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

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

作為一種編程語言,Python未來發展無限,見證該語言如何隨著新的發布計劃和解析器而發展將一定會是很有趣的!

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2018-11-16 10:10:09

2020-11-01 17:01:00

Python字典開發

2021-04-19 23:19:05

人工智能數據軟件

2009-08-28 10:25:24

思科認證思科認證新方向CCNP無線認證

2017-02-09 15:30:54

大數據 時代

2020-11-11 00:40:35

云計算混合云私有云

2010-04-26 01:07:07

雙線負載均衡

2025-06-06 04:11:00

2020-12-23 16:21:31

區塊鏈醫療大數據

2012-08-13 15:52:32

PTNPTN環網

2020-04-27 15:43:45

Python 3.9python開發

2022-09-06 14:57:27

物聯網物聯網安全

2012-08-22 11:28:39

數據虛擬化

2017-07-24 12:00:16

虛擬化數據中心IT

2009-12-25 16:54:49

2024-11-29 08:35:38

2020-11-20 07:20:37

人工智能AI

2024-04-18 07:11:17

生成式AI數字孿生模型人工智能

2010-09-14 14:07:56

2009-03-11 08:46:46

Chrome瀏覽器更新
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产午夜视频 | 97中文视频 | 欧美日韩视频在线第一区 | 日本久久一区 | 亚洲精品天堂 | 国产乱码精品一区二区三区忘忧草 | 在线观看成人免费视频 | 国产视频中文字幕 | 欧美日韩在线播放 | 亚洲网站在线观看 | 亚洲狠狠 | 蜜桃臀av一区二区三区 | 91高清在线观看 | 99精品99| 毛片免费观看 | 91亚洲欧美 | 亚洲一区二区三区视频免费观看 | 国产在线高清 | 黄网站在线观看 | 国产精品久久久久久久久久久久 | 国产成人精品免费视频大全最热 | 欧美日韩在线视频一区二区 | 一级黄a | 久久免费香蕉视频 | 亚洲久久一区 | 国产精品久久在线观看 | 成人精品视频在线观看 | 桃花av在线 | 亚洲 中文 欧美 日韩 在线观看 | 日韩av免费在线观看 | 香蕉久久a毛片 | 草草视频在线观看 | 中文字幕第一页在线 | 午夜精品久久久久久久星辰影院 | 欧美在线视频二区 | 亚洲精品九九 | 亚洲人a| 国产成人精品久久二区二区 | 欧美国产日本一区 | 欧美一区二区视频 | 精品国产青草久久久久福利 |