国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 行業(yè)資訊 > Python3.12新特性

Python3.12新特性

時間:2023-06-14 來源: 瀏覽:

Python3.12新特性

原創(chuàng) 劉志軍 Python之禪
Python之禪

VTtalk

Python程序員,現(xiàn)自由職業(yè)者,互聯(lián)網(wǎng)創(chuàng)業(yè)

收錄于合集 #python 28個

6月11,Python發(fā)布了3.12的bate版本3.12.0b2,預(yù)計(jì)在7月31日發(fā)布RC版。語法層面上新增了一些特性,整體的性能也得到了一定的提升,這里介紹幾個使用的語法特性。

1、提供了錯誤消息的可讀性

在3.11及以前版本,如果模塊沒有導(dǎo)入時的錯誤提示時,只告訴你報(bào)錯原因

>>> sys . version_info Traceback ( most recent call last ): File "<stdin>" , line 1 , in < module > NameError : name ’sys’ is not defined

現(xiàn)在,它還會告訴你修改建議

>>> sys . version_info Traceback ( most recent call last ): File "<stdin>" , line 1 , in < module > NameError : name ’sys’ is not defined . Did you forget to import ’sys’ ?

比如代碼中提示sys沒有被定義,會問題是不是忘記import了。其實(shí)這種錯誤,先進(jìn)一點(diǎn)的IDE都會自動幫你導(dǎo)入了。但對新手來說還是比較友好的。

2、增強(qiáng)的f-string

f-string早在3.6就引入的一種字符出格式化方法,也被稱為格式化字符串常量,相比老式的格式化方法簡潔很多?,F(xiàn)在3.12版本中又增強(qiáng)了。

songs = [ ’Take me back to Eden’ , ’Alkaline’ , ’Ascensionism’ ] print ( f "This is the playlist: {" , ".join(songs)}" )

這段代碼在3.11會提示語法錯誤,在字符串中不允許相同的引號同時存在字符串中,如果外層是雙引號,里面必須是用單引號,例如:

print ( f "This is the playlist: {’, ’.join(songs)}" )

現(xiàn)在就不存在這個問題了,你甚至可以多個引號對同時存在,例如:

f "{f" { f "{f" { f "{f" { 1 + 1 } "}" } "}" } "}"

不過從可讀性角度來說,這么多引號放一起看起來有點(diǎn)暈。

3、新增override裝飾器

@override在Java中出現(xiàn)過,這個裝飾器的用途是當(dāng)子類的方法想覆蓋父類方法的默認(rèn)實(shí)現(xiàn)時,可通過這個裝飾器來表示,用來告訴編譯器,這是一個被重寫的方法,當(dāng)字類的該方法被調(diào)用時,不要再去調(diào)父類的方法了,現(xiàn)在Python也可以這么用了。

from typing import override class Base : def get_color ( self ) -> str : return "blue" class GoodChild ( Base ): @override # ok: overrides Base.get_color def get_color ( self ) -> str : return "yellow" class BadChild ( Base ): @override # type checker error: does not override Base.get_color def get_colour ( self ) -> str : return "red"

注意,override 修飾錯了方法也不會導(dǎo)致程序報(bào)錯,Python動態(tài)語言特性的緣故,靜態(tài)類型檢查只是一種建設(shè)性的提示,只有在做類型檢查的時候才會提示錯誤。類型檢查這塊,Python其實(shí)都是從靜態(tài)語言中參考過來的,代碼中加入類型檢查,“重構(gòu)火葬場”的場面基本可以宣告終止了。

完整特性請參考:https://docs.python.org/dev/whatsnew/3.12.html

歡迎學(xué)Python的兄弟們加入【Python之禪和朋友們】知識星球,在這里與志同道合的人一起學(xué)習(xí)、交流、共同進(jìn)步,和大家一起卷起來

版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時內(nèi)刪除。
相關(guān)推薦