溫馨提示×

溫馨提示×

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

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

Python 3中三大重要功能是什么

發(fā)布時間:2021-10-28 16:00:45 來源:億速云 閱讀:172 作者:iii 欄目:編程語言

這篇文章主要介紹“Python 3中三大重要功能是什么”,在日常操作中,相信很多人在Python 3中三大重要功能是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python 3中三大重要功能是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

枚舉

枚舉是在Java和Swift中常使用到的功能,我把它擴展到Python中。在Python中創(chuàng)建枚舉非常簡單,在Python  3之前的版本中也可使用(盡管功能更受限):

from enum importEnum              classState(Enum):         AIR=0         LAND=1         SEA=2         myState =State.AIR             # Prints 0       print(myState.value)       # Prints AIR       print(myState.name)

在上述代碼中,可以看到通過構(gòu)造一個類并使其成為枚舉的子類,便可以輕松構(gòu)造枚舉。在這里只需在下面的行中定義每個狀態(tài)。就我而言,我有AIR、LAND、SEA。

Python3的新功能是運行.value和.name。這能獲得與狀態(tài)相關(guān)聯(lián)的整數(shù)值或與之相關(guān)聯(lián)的字符串。

在上面的代碼中,輸入State.LAND.name 返回LAND,因此功能不僅僅是一個整數(shù)枚舉。

當需要描述性常量時,代碼中的枚舉類型十分有用。例如,與其檢查狀態(tài)是0還是1,不如檢查它是否是State.MOVING或State.STATIONARY狀態(tài).  。常量可能會改變,如果有人在看你的代碼,MOVING比0更有意義,代碼的可讀性也會大大提高。

格式

在Python  3.6中添加的fstring是格式化文本的一種很好的方式。它們的可讀性強,而且不容易出錯。fstring比Python以前使用的格式更易讀。以下是使用格式的示例:

name ='Brett'        blog_title ='Medium'              # Hi, my name isBrett and I am writing on my Medium blog.        a ="Hi, myname is {} and I am writing on my {} blog.".format(name,blog_title)

如上所示,在字符串中打入括號,然后按順序列出每個變量的名稱。相同代碼任務(wù)很多,但fstring極大地增加了代碼的可讀性,尤其是類似于用Swift格式化字符串。

name ='Brett'        blog_title ='Medium'              # Hi, my name isBrett and I am writing on my Medium blog.        a =f"Hi, myname is {name} and I am writing on my {blog_title} blog."

為了完成這個更簡潔的字符串,只需在引號前面加上字母f,然后將變量或數(shù)據(jù)直接放入括號中,而不是使用空括號。由于變量本身是寫在括號內(nèi)的,所以不必計算格式中寫入的項的數(shù)量來確定變量的位置,變量就在應(yīng)在的位置。

相比于字符串連接或格式化字符串,fstring可以生成更可讀、更可靠的代碼。

數(shù)據(jù)類

數(shù)據(jù)類可能要比上述所談更為晦澀難懂,所以我將簡要地解釋一下。我在Kotlin中逐漸喜歡上了數(shù)據(jù)類,因此很想在Python中使用它們。

數(shù)據(jù)類實際上是一個類,其唯一目的是保存數(shù)據(jù)的類。類將具有可以訪問和寫入的變量,但上面沒有額外的邏輯。

假設(shè)你有一個程序,在不同的類之間傳遞一個字符串和一個數(shù)字數(shù)組。使用pass(str,arr)這樣的方法也可行,最好是創(chuàng)建一個只包含字符串作為字段和數(shù)組的數(shù)據(jù)類。通過創(chuàng)建一個數(shù)據(jù)類,你所做的將更加清晰,單元測試也將更加容易。

下面這個示例將說明如何創(chuàng)建一個表示三維向量的簡單數(shù)據(jù)類,但這可以很容易地擴展為表示不同數(shù)據(jù)的任意組合:

from dataclasses import dataclass              # Definedataclass            @dataclass            classVector3D:               x: int               y: int               z: int                            # Create a vector           u =Vector3D(1,1,-1)              # Outputs: Vector3D(x=1,y=1, z=-1)            print(u)

在這里,你可以看到數(shù)據(jù)類的定義與聲明普通類非常相似,只是我們先用了@dataclass,然后每個字段的名稱都是name:type。

雖然我們創(chuàng)建的Vector3D功能有限,但是數(shù)據(jù)類的目的只是提高效率并減少代碼中的錯誤,傳遞Vector3D比傳遞int變量要好得多。

到此,關(guān)于“Python 3中三大重要功能是什么”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

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

AI