日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中什么最重要_Python 3中被忽视了的三大重要功能

發布時間:2023/12/10 python 73 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中什么最重要_Python 3中被忽视了的三大重要功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

全文共2201字,預計學習時長6分鐘

圖源:unsplash

Python 3上線已有一段時間,大多數開發人員(特別是那些首次編程的人)已經在使用它了。不過,你確定已經對Python 3研究透徹了嗎?

事實上,其中還有許多新功能對大多數人來說仍處于未知狀態。本文就將討論Python 3中三個鮮為人知但非常有用的功能,我在其他語言中接觸到并愛上了這些功能,它們的加入使得使Python 3體驗更佳。

枚舉

枚舉是在Java和Swift中常使用到的功能,我把它擴展到Python中。在Python中創建枚舉非常簡單,在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)

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

Python3的新功能是運行.value和.name。這能獲得與狀態相關聯的整數值或與之相關聯的字符串。

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

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

圖源:unsplash

格式

在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)

如上所示,在字符串中打入括號,然后按順序列出每個變量的名稱。相同代碼任務很多,但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,然后將變量或數據直接放入括號中,而不是使用空括號。由于變量本身是寫在括號內的,所以不必計算格式中寫入的項的數量來確定變量的位置,變量就在應在的位置。

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

數據類

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

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

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

圖源:unsplash

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

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)

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

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

以上三點就是我的新發現。你在Python 3中嘗試過哪些鮮為人知的功能吶?

留言點贊關注

我們一起分享AI學習與發展的干貨

如轉載,請后臺留言,遵守轉載規范

總結

以上是生活随笔為你收集整理的python中什么最重要_Python 3中被忽视了的三大重要功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。