溫馨提示×

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

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

Python新版本有哪些編程技巧

發(fā)布時(shí)間:2021-11-01 16:26:36 來源:億速云 閱讀:168 作者:iii 欄目:編程語言

這篇文章主要介紹“Python新版本有哪些編程技巧”,在日常操作中,相信很多人在Python新版本有哪些編程技巧問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”Python新版本有哪些編程技巧”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

 1、F字符串(F-Strings)

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

Python新版本有哪些編程技巧

首先,讓我們定義兩個(gè)變量 name 和 age,這兩個(gè)變量包含在print語句中。

name = "Pavel" age = 23

要不處理字符串連接或在print語句中使用逗號(hào),可以使用Python改進(jìn)的字符串格式語法“f-strings”,該語法已隨Python  3.6版本一起發(fā)布。

只需將小寫或大寫字母“f”放在字符串前面,將變量或表達(dá)式放在大括號(hào)內(nèi)。

Python新版本有哪些編程技巧

F-Strings是格式化字符串的一種新方法,它比其他格式化方法可讀性更強(qiáng)、速度更快、簡潔,而且不易出錯(cuò)!

2、Help函數(shù)

Python中的Help函數(shù)可用于查找模塊,功能,類,關(guān)鍵字等的文檔。

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

Python新版本有哪些編程技巧

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

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

例如:

Python新版本有哪些編程技巧

只計(jì)算直接歸屬于對(duì)象的內(nèi)存消耗,而不計(jì)算它所指對(duì)象的內(nèi)存消耗。

另一個(gè)例子:

Python新版本有哪些編程技巧

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

通常,要檢查兩個(gè)以上的條件,我們必須使用邏輯運(yùn)算符,例如 and/or。

if a < b and b < c:

在Python中,有一種更好的方法可以使用比較運(yùn)算符鏈?zhǔn)絹砭帉懰?/p>

運(yùn)算符的鏈接可以編寫如下:

if a < b < c:

例如:

Python新版本有哪些編程技巧

5.列表理解

列表理解是另一種更常用、更優(yōu)雅的列表制作方式。

不需要?jiǎng)?chuàng)建空列表并將每個(gè)元素添加到末尾,你只需按照以下格式同時(shí)定義列表及其內(nèi)容:

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

例如:

Python新版本有哪些編程技巧

另一個(gè)例子:

Python新版本有哪些編程技巧

6、字符串乘法

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

例如:

Python新版本有哪些編程技巧

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

你可以使用逗號(hào)分隔變量和值,來為多個(gè)變量分配多個(gè)值:

Python新版本有哪些編程技巧

當(dāng)對(duì)序列(如列表或元組)進(jìn)行解構(gòu)/解包時(shí),這也會(huì)起作用,并且是將序列元素分配給單個(gè)變量的更優(yōu)雅的方法,因?yàn)椴恍枰褂醚h(huán)或單獨(dú)索引序列的每個(gè)元素。

Python新版本有哪些編程技巧

8、就地交換變量

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

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

temp = x x = y y = temp

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

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

Python新版本有哪些編程技巧

9、創(chuàng)建枚舉

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

要?jiǎng)?chuàng)建枚舉,必須創(chuàng)建一個(gè)類,該類是所需枚舉的名稱。

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

Python新版本有哪些編程技巧

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

在Python中,可以通過以下方式簡化上述示例:將變量彼此相鄰列出并將它們?cè)O(shè)置為等于range函數(shù):

Python新版本有哪些編程技巧

10、列舉

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

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

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

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

Python新版本有哪些編程技巧

使用枚舉

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

Python新版本有哪些編程技巧

你可以將變量i和v更改為您可能喜歡的變量名。例如,對(duì)于索引,在枚舉(x)中計(jì)數(shù)。

11、Dir函數(shù)

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

當(dāng)很少甚至沒有關(guān)于模塊的信息時(shí),這非常有用,并且有助于更快地學(xué)習(xí)新模塊。

例如:

Python新版本有哪些編程技巧

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

12.參數(shù)解壓縮

有時(shí)稱為Splat或Scatter運(yùn)算符*的功能是:在需要將列表/元組中的參數(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è)簡單列表x = [1,2,3,4,5]

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

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

這只需打印出列表中的每個(gè)元素,這些元素之間用空格隔開,因?yàn)閡npack操作符接受列表中的所有元素并將它們作為參數(shù)傳遞,所以上面代碼的轉(zhuǎn)換將被打印出來(1,2,3,4,5)。

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

例如:

Python新版本有哪些編程技巧

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

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

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

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

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

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

例如:

Python新版本有哪些編程技巧

到此,關(guān)于“Python新版本有哪些編程技巧”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

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

AI