溫馨提示×

溫馨提示×

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

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

有哪些Python技巧用于編寫更好的代碼

發(fā)布時間:2021-11-01 16:41:38 來源:億速云 閱讀:128 作者:iii 欄目:編程語言

這篇文章主要講解了“有哪些Python技巧用于編寫更好的代碼”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“有哪些Python技巧用于編寫更好的代碼”吧!

1. F String

F字符串為將Python表達式嵌入字符串文字中進行格式化提供了一種簡潔方便的方法。

首先,讓我們定義兩個要包含在打印語句中的變量名稱和年齡。

name = "Pavel" age = 23

要不處理字符串連接或在打印語句中使用逗號,可以使用Python 3.6中發(fā)布的Python改進的字符串格式語法" f-Strings"。

只需在帶有大括號內(nèi)的變量或表達式的字符串前放置小寫或大寫字母" f"。有哪些Python技巧用于編寫更好的代碼

F字符串是格式化字符串的一種很棒的新方法,與其他格式化方法相比,它更具可讀性,更快,更簡潔并且更不容易出錯!

2.幫助功能

Python幫助功能用于查找模塊,功能,類,關(guān)鍵字等的文檔。

只需在help函數(shù)內(nèi)部傳遞一個對象即可檢索該對象的文檔:

有哪些Python技巧用于編寫更好的代碼

3.查找任何對象的大小

默認的sys模塊包含一個getsizeof函數(shù),該函數(shù)接受一個對象并返回其大小(以字節(jié)為單位)。 該對象可以是任何類型。

例如:

有哪些Python技巧用于編寫更好的代碼

僅考慮直接歸因于對象的內(nèi)存消耗,而不考慮它所引用的對象的內(nèi)存消耗。

另一個例子:

有哪些Python技巧用于編寫更好的代碼

4.比較運算符的鏈接

通常,要檢查兩個以上的條件,您將必須使用邏輯運算符,例如和/或

if a < b and b < c:

在Python中,有一種使用比較運算符Chaining的更好的編寫方法。

運算符的鏈可寫為:

if a < b < c:

例如:

有哪些Python技巧用于編寫更好的代碼

5.列表推導(dǎo)表達式

列表推導(dǎo)表達式是創(chuàng)建列表的另一種且通常是更優(yōu)雅的方法。

您可以按照以下格式同時定義列表及其內(nèi)容,而不用創(chuàng)建一個空列表并將每個元素添加到末尾:

new_list = [expression for item in iterable (if conditional)]

例如:

有哪些Python技巧用于編寫更好的代碼

另一個示例(有條件):

有哪些Python技巧用于編寫更好的代碼

6.字符串乘法

在Python中,不僅可以乘以數(shù)字,還可以乘以字符串。

例如:

有哪些Python技巧用于編寫更好的代碼

7.在一行中分配多個變量

您可以使用逗號分隔變量和值,從而將多個值分配給多個變量:

有哪些Python技巧用于編寫更好的代碼

這在解構(gòu)/解包序列(例如列表或元組)時也適用,并且是一種將序列的元素分配給各個變量的更優(yōu)雅的方法,因為不需要使用循環(huán)或單獨索引序列的每個元素。

有哪些Python技巧用于編寫更好的代碼

8.就地交換變量

在許多其他編程語言中,只能通過定義附加的temp(臨時)變量來交換兩個或多個變量的值。

假設(shè)您想交換x和y:

temp = x  x = y  y = temp

在Python中,有一個簡單的單行構(gòu)造來交換變量,類似于單行中將值分配給多個變量的概念。

以下代碼與上面的代碼相同,但未使用任何臨時變量:

有哪些Python技巧用于編寫更好的代碼

9.創(chuàng)建一個枚舉

Enum是Python中用于創(chuàng)建枚舉的類,枚舉是附加到唯一,恒定值的一組符號名稱。

為了創(chuàng)建一個枚舉,有必要創(chuàng)建一個類,它是您想要的枚舉的名稱。

剩下要做的就是列出變量并將它們設(shè)置為等于所需的值:

有哪些Python技巧用于編寫更好的代碼

以訪問枚舉memberPaul為例,只需執(zhí)行Person.Paul,它將返回0。

在Python中,可以通過將變量彼此相鄰列出并將它們設(shè)置為等于range函數(shù)來縮短上面的示例:

有哪些Python技巧用于編寫更好的代碼

10.Range

通常,在遍歷列表時,您不僅要訪問在列表中具有位置的索引,還要訪問實際元素。

讓我們定義一個字符列表:

x = ['a', 'b', 'c']

與其以標(biāo)準(zhǔn)方式遍歷它,不如訪問元素和索引:

有哪些Python技巧用于編寫更好的代碼

使用枚舉

枚舉是Python的內(nèi)置函數(shù),它使我們能夠遍歷一個可迭代的對象并具有一個自動計數(shù)器。 它實質(zhì)上將列表中的每個元素與相應(yīng)的索引配對。  大多數(shù)新手,甚至一些高級程序員都沒有意識到這一點。

有哪些Python技巧用于編寫更好的代碼

您可以將變量i和v更改為您可能希望使用的變量名稱。 例如,對于索引,計入enumerate(x)。

11.Dir 功能

dir()是Python3中強大的內(nèi)置函數(shù),它返回任何對象的屬性和方法的列表,即函數(shù),模塊,字符串,列表,字典等。

當(dāng)幾乎沒有該模塊的信息時,這非常有用,并且有助于更快地學(xué)習(xí)新模塊。

例如:

有哪些Python技巧用于編寫更好的代碼

dir()通常用于調(diào)試目的。 dir()列出所傳遞參數(shù)的所有屬性的能力在分別處理許多類和函數(shù)時非常有用。

12.參數(shù)解包

有時稱為Splat或Scatter運算符*當(dāng)需要將列表/元組中的參數(shù)解壓縮以進行需要單獨的位置參數(shù)的函數(shù)調(diào)用時,它們會起作用。

例如,內(nèi)置的range()函數(shù)需要單獨的start和stop參數(shù)。 編寫函數(shù)調(diào)用時,可以使用*運算符將參數(shù)從列表或元組中解包:

讓我們定義一個簡單列表x = [1,2,3,4,5]

拆包操作員的一個常見示例是使用print:

print(*x) // Result: 1 2 3 4 5

這只是簡單地打印出列表中的每個元素,彼此之間用空格隔開,因為unpack運算符將列表中的所有元素作為參數(shù)傳遞給它們,因此上面代碼的翻譯將是print(1,2,3,  4,5)。

這個Python技巧經(jīng)常在函數(shù)中使用,將方法調(diào)用接收到的所有參數(shù)"打包"到一個變量中。

例如:

有哪些Python技巧用于編寫更好的代碼

上面的函數(shù)func可以接受無限數(shù)量的參數(shù)(args [0]和args [1]分別為您提供第一個和第二個參數(shù))。

以類似的方式,詞典可以使用**運算符傳遞關(guān)鍵字參數(shù)。

讓我們定義一個稱為person的Python字典:

person = {"name": "Paul", "age": 23, "location": "London"}

您可以使用**運算符將字典傳遞給函數(shù)。

傳入的字典將把鍵分解為function關(guān)鍵字參數(shù),然后將值作為該參數(shù)傳遞的實際值。

例如:

有哪些Python技巧用于編寫更好的代碼

感謝各位的閱讀,以上就是“有哪些Python技巧用于編寫更好的代碼”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對有哪些Python技巧用于編寫更好的代碼這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(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