中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

python3.10新特性是什么

發布時間:2022-01-29 15:23:37 來源:億速云 閱讀:128 作者:zzz 欄目:開發技術

本文小編為大家詳細介紹“python3.10新特性是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“python3.10新特性是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

更友好的報錯提示

很多編程語言都有一套自己的報錯機制,就小編的學習經歷而言,python的報錯提示是比較友好的。小編學習的第一門語言是C語言,當時使用的是一代經典IDE——visual C++6.0,它在編譯的時候如果代碼有錯誤會進行報錯,小編覺得vc6.0的報錯是十分詳細的,我們只需要根據報錯的提示信息進行修改,就能把代碼改好,VC6.0的優點就在于此:他的代碼提示很詳細。然而因為它是C語言,所以本身代碼會比較難懂,這點不能賴它的報錯提示,只能說C語言的報錯提示像一把高手才能駕馭的寶劍,對于初學C語言,對C語言語法不夠熟悉的小伙伴不太友好。

小編學習的第二門語言是java,java的報錯實際上和python很相似,他們的報錯都會將調用棧打印出來,我們可以順著調用棧去一層一層的找到最終錯誤的地方,python的報錯提示也是比較詳細的。但是有編譯過程的語言有一個共同的缺點:會將所有的錯誤都報出來。原因在于他們在編譯的時候是通篇代碼進行編譯的,而不是想python一樣逐行解釋,他們會將整篇代碼的錯誤統統都找出來,如果代碼錯誤較少,這樣的報錯無傷大雅,但對于新手而言,可能寫一個helloworld就能爆出七八個錯誤,在java里七把個報錯打印出來的報錯提示可以有一大頁,里面還充斥著各種令人看不懂的包,新手看了直接莫名其妙。

接下來就是python,在之前版本的python報錯中,其實類似于java,但是他有兩點不同。第一,他比較簡略,只給出了錯誤的原因,比如簡單的提示語法錯誤。這對于其他報錯來說是一個缺點。第二,由于python逐行解釋的特點,就算一篇代碼有很多錯誤,python也只會一個一個的報錯,而不是像編譯型語言一樣一次全部報出來,這點對于報錯的易讀性而言算是一個優點。

但是今天我們要介紹的,是python3.10,更新后的python報錯,解決了之前的缺點,現在python報錯也能更加詳細了,來看看現在的python報錯:

str = "未閉合的str

File "d:\projects\python\learn\Py310探索.py", line 90
    str = "未閉合的str
          ^
SyntaxError: unterminated string literal (detected at line 90)
arr = [1, 2, 2, 3

  File "d:\projects\python\learn\Py310探索.py", line 91
    arr = [1, 2, 2, 3
          ^
SyntaxError: '[' was never closed

類型注釋

喜歡python的小伙伴有一些是青睞他的動態變量,我們無需聲明變量的類型就可以引用,這個變量上一秒還是int型的,下一秒就變成float了,這一切全憑我的意愿。但這實際上會帶來兩個問題,對于解釋器而言,要處理這些動態類型需要解釋器去猜測這個變量的類型,在運算的時候好及時轉換,這會降低解釋器的效率。對于程序員而言,有變量類型的函數我們不需要看函數內部代碼就能知道這個函數傳進去的參數是什么類型,返回的又是什么類型。而這一點在老版本的python中做不到。老版本的Python中我們需要看完這個函數的代碼才能去猜測傳入參數和返回值的類型(看起來像是重復解釋器遇到的困境,但實際上困擾解釋器的問題也困擾著我們),一個函數的代碼量如果較少且容易理解,或者帶有注釋,對我們帶來的影響可能沒那么大,但當寫代碼的人不寫注釋且函數復雜難懂的時候那就是一場災難。

在新版本的python中來了類型注釋,這樣可以明顯地提高代碼的可讀性。小編認為這也是提高python易學性的一個關鍵。

def f(x: int | float) -> float:
    return x * 3.142
f(1)  # pass
f(1.5)  # pass
f('str')  # linter will show annotation error

類似上面這樣,傳入的參數可能是int也可能是float,雖然這部分內容是來自類型注釋聯合操作符的,但也能看到類型注釋相關的內容。

讀到這里,這篇“python3.10新特性是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

格尔木市| 宁陕县| 双鸭山市| 盐亭县| 岑溪市| 武威市| 喀什市| 会宁县| 昌吉市| 田东县| 容城县| 延长县| 无锡市| 天峻县| 确山县| 新宾| 梁山县| 玉田县| 汉川市| 张家口市| 荆门市| 贺州市| 德昌县| 吴忠市| 堆龙德庆县| 慈利县| 吉隆县| 米易县| 娄底市| 凤庆县| 邵阳县| 彰化县| 思南县| 永靖县| 临武县| 广丰县| 涞源县| 普格县| 高唐县| 汝州市| 祁连县|