首頁  >  文章  >  後端開發  >  Python 3.10發布!你應該知道這5大新特性

Python 3.10發布!你應該知道這5大新特性

PHPz
PHPz轉載
2023-04-14 15:22:031611瀏覽

Python 在市場上已經有一段時間了,作為一名 Python 開發人員,我很高興地分享 Python 正在逐步獲得更新和每個新版本的改進。 Python 的最新版本 3.10 有一些重大改進,我將在此處列出這些更新。我在列舉了這個新版本 的前 5 個更新。

一、錯誤訊息的改進

對於 Python 開發人員,當您編寫程式碼並遇到錯誤時,錯誤訊息可協助您找出程式碼中的錯誤。與使用先前的 Python 版本時相比,改進的錯誤訊息使您的生活更加輕鬆。例如,考慮以下程式碼,其中第二行末尾沒有括號:

Python 3.10發布!你應該知道這5大新特性

在先前的版本中—Python3.9 及更早的版本,你會看到如下錯誤——

Python 3.10發布!你應該知道這5大新特性

嗯,無效的語法!現在,作為開發人員,您從這條錯誤訊息中了解到什麼?好吧,就我個人而言,除了在第3 行的某處添加了錯誤的語法這一事實之外,我什麼都不明白。

但是,錯誤真的出現在第 3 行嗎?Python 3.10 是這種情況下的救星,具有最新的更新。對於同一段程式碼,Python 3.10 會拋出以下錯誤訊息——

Python 3.10發布!你應該知道這5大新特性

#行號和非常具體的錯誤訊息將允許您直接進入、修復錯誤並繼續編碼!我個人嘗試查看錯誤訊息是否足夠清晰的另一個範例——

Python 3.10發布!你應該知道這5大新特性

這真的是Python 3.10 版本中的一個很酷的更新,請在本文的評論部分分享您對此的看法。

二、更簡單的類型聯合語法

在過去的 Python 版本中,更多的工具已從類型轉換為內建功能,以避免每次都匯入靜態類型。現在看看這次的改變-

Python 3.10發布!你應該知道這5大新特性

在Python 3.10 中,現在允許您使用管道運算子(|) 來指定類型聯合,而不是從輸入模組中導入聯合。此外,現有的typing.Union 和| 語法應該是等效的,如下比較-

Python 3.10發布!你應該知道這5大新特性

三、在多行中使用多個`with`語句

Python 確實透過使用反斜線() 支援多行語句,但是Python 中的某些結構不需要使用斜線來編寫多行語句。其中之一是具有多行 with() 語句的上下文管理器。例如——

Python 3.10發布!你應該知道這5大新特性

是的,這似乎不是一個功能,但它是對先前版本的重大改進,因為您可能遇到過使用多行上下文管理器的用例,但由於上述錯誤而無法執行。如果你仍然感到困惑,讓我們舉更多例子來說明你可以使用Python 3.10 版本的上下文管理器做什麼——

Python 3.10發布!你應該知道這5大新特性

您現在可以擁有多行上下文管理器語句,而無需使用反斜線。很棒吧?

四、更好的類型別名

類型別名允許您快速定義可以為複雜類型聲明建立的新別名。例如—

Python 3.10發布!你應該知道這5大新特性

這通常可以正常運作。然而,類型檢查器通常不可能知道這樣的語句是類型別名還是只是常規全域變數的定義。

Python 3.10發布!你應該知道這5大新特性

上面的 python 程式碼為 tuple[str, str] 宣告了一個別名 UserInfo,因為它是一種組合了多種型別值的資料型別。在我們的例子中,它是一個字串和一個整數。此外,新增 TypeAlias 註解可以向類型檢查器和任何閱讀您程式碼的人闡明意圖。

五、更嚴格的序列壓縮

zip() 是 Python 中的內建函數,您可能在組合多個清單/序列時使用過它。 Python3.10 引入了新的嚴格參數,它添加了一個運行時測試來檢查所有被壓縮的序列是否具有相同的長度。例如—

Python 3.10發布!你應該知道這5大新特性

zip() 可用來並行迭代這三個清單:

Python 3.10發布!你應該知道這5大新特性

##讓我們再次使用上面顯示的這兩個序列的名稱和編號。現在唯一的區別是,這些序列之間的數字與序列名稱的長度不同,如下所示——

Python 3.10發布!你應該知道這5大新特性

#注意,所有關於名字——Kevin 的資訊都消失了!如果您的資料集更大,則很難發現此類錯誤。即使您發現有問題,診斷和修復並不總是那麼容易。被壓縮的序列將具有相同長度的假設不僅可以幫助您避免這種差異。在Python 3.10 中,strict 參數可以幫助你在一開始就避免這種情況——

Python 3.10發布!你應該知道這5大新特性

雖然strict 並沒有真正向zip() 添加任何新功能,但它可以幫助您避免那些難以發現的錯誤。

Python 3.10 中的其他更新 此版本有很多錯誤修復以及其他一些小更新,如果您有興趣,可以在官方發布頁面上找到。

原文:https://varun-singh-01.medium.com/python-3-10-released-top-5-new-features-you-should-know-bf968ac99230


以上是Python 3.10發布!你應該知道這5大新特性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除