<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python學(xué)習(xí)教程丨Python新版本中的 6 個新特性,你去體驗了么?

          共 3089字,需瀏覽 7分鐘

           ·

          2021-10-27 14:04

            新的 Python 版本推出了有趣的新功能。

            Python 是當(dāng)今最流行的編程語言之一。它有廣泛的領(lǐng)域和應(yīng)用,從學(xué)習(xí)計算機科學(xué)的基礎(chǔ),到執(zhí)行復(fù)雜或者直接的科學(xué)計算任務(wù)來創(chuàng)建游戲。它的高級應(yīng)用甚至包含數(shù)據(jù)科學(xué)和量子計算。

            Python的流行有很多原因。其中最主要的原因是Python和其他語言相比,通用性強,簡單易學(xué)。除此之外,Python的開發(fā)和維護者——Python軟件基金會——一直致力于用新的方法改進Python。


            兩周之前(2021年10月4日),一個新的Python版本發(fā)布了,Python 3.10。在新的版本中,Python 添加了獨特且有價值的功能,同時刪除了一些舊功能。我們可以將任何新軟件版本中添加或刪除的功能歸為多個類別,例如語法特性、添加到默認庫或?qū)ΜF(xiàn)有特性的改進。

            Python 3.10 有幾個新的很酷的功能,使得使用 Python 成為一種更好的體驗。在本文中,我將與您分享 6 個讓我最興奮的新特性。

            更清楚的錯誤追蹤

            作為一個每天寫Python 、教Python 的人,我深知遇到語法錯誤的挫敗感。盡管一旦你掌握了Python和編程,就很容易修復(fù)語法錯誤,但是我們還是希望錯誤消息能給我們更好的提示,以幫助我們更好地定位錯誤并節(jié)省調(diào)試時間。

            在Python 3.10中,兩個新特性使得我們可以更好地處理錯誤,他們是更清楚地錯誤消息以及精確的行號。比如,我們有以下代碼,包含一個字典和一個函數(shù)。但是我們忘記了字典結(jié)束的花括號“}”。 

            1    some_dict =

            2    {1: "jack",

            3    2: "john",

            4    3: "james" ,

            5    a_results = a_useful_function() 

            在之前的Python版本中,錯誤信息如下:

            1    File "amazing_code.py",

            2    line 3 a_results = a_useful_function()

            3    ^ SyntaxError: invalid syntax # 無效的語法

            但是,隨著新的錯誤消息和行號的改進,新的錯誤消息將包含更好的信息,例如準(zhǔn)確的錯誤類型和精確的行號。

            1    File "amazing_code.py",

            2    line 1 expected =

            3    {1: "jack",

            4    2: "john",

            5    3: "james" ,

            6    ^ SyntaxError: '{' was never closed # 未關(guān)閉的 “ { ”

            這一新特性將有助于加快調(diào)試速度,并減少人們開始學(xué)習(xí) Python 的挫敗感。

            結(jié)構(gòu)化模式匹配

            如果您使用過 C++ 等其他編程語言,您可能希望 Python 有 switch 語句,這樣您就不必經(jīng)歷冗長的 if、elif、elif、…、else 語句。好吧,Python 3.10 的新特性之一是添加了結(jié)構(gòu)化模式匹配,或者換句話說,具有以下語法的 switch、case 語句。

            1    match subject:  

            2     case <patt1>:        <act1>    

            3     case <patt2>:        <act2>    

            4     case <patt3>:        <act3>    

            5     case _:        <action_default>

            新的類型聯(lián)合運算符

            盡管 Python 是一種動態(tài)類型的編程語言,但還是有一些方法可以使它的某些部分成為靜態(tài)類型的。比如,你正在寫一個函數(shù),而屬性的類型對于函數(shù)的內(nèi)部通信很重要。在之前的版本中,你可以指定類型如下: 

            1    def func(num: int) -> int:    return num + 5

            但是,如果你要接受兩種類型,你就需要使用Union關(guān)鍵字。

            1    def func(num: Union[int, float]) -> Union[int, float]:    return num + 5

            在新版Python中,你可以用“|”運算符替代Union關(guān)鍵字,這樣會更直接。

            1    def func(num: int | float) -> int | float:    return num + 5

            其他很酷的特性

            4.1 更嚴格的zip

            Python的樂趣之一就是zip()函數(shù)。它是一個內(nèi)置函數(shù),允許你同時遍歷多個序列,并組合其返回值。在之前的版本中,你可以對不同長度的序列使用zip。但是,現(xiàn)在有了一個新的參數(shù),strict,用來檢查可遍歷對象是否長度一致。

            4.2 自動文本編碼

            作為程序員,我們會說,“他在我的電腦上能運行的”。代碼在一臺機器上運行而不在另一臺機器上運行的原因有很多;文本編碼可能會導(dǎo)致此類錯誤。

            在以前的 Python 版本中,如果沒有明確說明編碼類型,首選的本地編碼可能會導(dǎo)致代碼在其他機器上失敗。在 Python 3.10 中,可以激活警告以通知用戶打開文本文件沒有指定編碼類型。

            4.3 異步迭代

            異步編程是一個強大而先進的編程范式,它從 3.5 版開始就成為 Python 的一部分。在Python 3.10,有兩個新的異步的內(nèi)置功能aiter()和anext()使你的代碼更易讀。

            Python的每個版本,都帶來了不起的新特性。這些特性是大部分Python程序員需要的,能讓我們高效寫Python代碼。總之,它們讓人們寫代碼更容易。本文中,我分享了讓我和我的學(xué)生興奮的Python 3.10的六個新特性。

          搜索下方加老師微信

          老師微信號:XTUOL1988切記備注學(xué)習(xí)Python

          領(lǐng)取Python web開發(fā),Python爬蟲,Python數(shù)據(jù)分析,人工智能等精品學(xué)習(xí)課程。帶你從零基礎(chǔ)系統(tǒng)性的學(xué)好Python!

          *聲明:本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請聯(lián)系我們刪除或授權(quán)


          瀏覽 66
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色综合婷婷 | av牛牛| 97乱伦 | 成年男女啪啪网视频 | 激情深爱婷婷 |