日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
用于編寫更好的代碼的12個(gè)Python技巧和竅門

 通過(guò)了解比較新的Python功能,技術(shù),技巧和竅門來(lái)提高代碼質(zhì)量。

1. F String

F字符串為將Python表達(dá)式嵌入字符串文字中進(jìn)行格式化提供了一種簡(jiǎn)潔方便的方法。

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

 
 
 
  1. name = "Pavel" 
  2. age = 23 

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

只需在帶有大括號(hào)內(nèi)的變量或表達(dá)式的字符串前放置小寫或大寫字母" f"。 

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

2.幫助功能

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

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

3.查找任何對(duì)象的大小

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

例如:

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

另一個(gè)例子:

4.比較運(yùn)算符的鏈接

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

if a < b and b < c:

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

運(yùn)算符的鏈可寫為:

if a < b < c:

例如:

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

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

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

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

例如:

另一個(gè)示例(有條件):

6.字符串乘法

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

例如:

7.在一行中分配多個(gè)變量

您可以使用逗號(hào)分隔變量和值,從而將多個(gè)值分配給多個(gè)變量:

這在解構(gòu)/解包序列(例如列表或元組)時(shí)也適用,并且是一種將序列的元素分配給各個(gè)變量的更優(yōu)雅的方法,因?yàn)椴恍枰褂醚h(huán)或單獨(dú)索引序列的每個(gè)元素。

8.就地交換變量

在許多其他編程語(yǔ)言中,只能通過(guò)定義附加的temp(臨時(shí))變量來(lái)交換兩個(gè)或多個(gè)變量的值。

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

 
 
 
  1. temp = x 
  2.  
  3. x = y 
  4.  
  5. y = temp 

 

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

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

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

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

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

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

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

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

10.Range

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

讓我們定義一個(gè)字符列表:

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

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

使用枚舉

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

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

11.Dir 功能

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

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

例如:

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

12.參數(shù)解包

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

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

讓我們定義一個(gè)簡(jiǎn)單列表x = [1,2,3,4,5]

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

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

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

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

例如:

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

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

讓我們定義一個(gè)稱為person的Python字典:

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

 

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

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

例如:

最后的話

感謝您的閱讀,希望本文對(duì)您有所幫助!


當(dāng)前題目:用于編寫更好的代碼的12個(gè)Python技巧和竅門
網(wǎng)站鏈接:http://www.5511xx.com/article/ccshioo.html