溫馨提示×

溫馨提示×

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

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

編寫更簡潔Python代碼的技巧有哪些

發(fā)布時間:2021-10-29 11:28:02 來源:億速云 閱讀:149 作者:iii 欄目:編程語言

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

1.列表,字典和集合理解

列表理解是許多Python程序員最喜歡的功能之一。 這是從迭代器創(chuàng)建列表對象的非常簡潔的方法。 基本語法為[可迭代的x表達式]。  讓我們看一些示例以了解其用法。

如您所見,在不使用列表推導的情況下,我們必須創(chuàng)建一個空列表,并通過運行for循環(huán)來添加每個數(shù)字的平方,這需要三行代碼。  相比之下,我們只使用一行代碼就可以通過列表理解來構建相同的正方形列表。 那不是很酷嗎?

除了列表理解之外,還有字典和集合理解。  字典理解具有以下基本語法{key_expr:用于iterable中的x的value_expr},而對于集合理解,其基本語法是{用于x中的iterable的表達式}。  讓我們在下面看一些簡單的例子。 與列表理解示例類似,將花費多行代碼來構建所需的字典并進行設置,而無需使用理解技術。

2.將元組命名為數(shù)據(jù)結構

我們知道元組對于存儲一些相關數(shù)據(jù)很有用。 但是,使用它們并不是很方便,尤其是在訪問特定元素方面,因為我們必須記住順序并使用特定元素的正確索引。

盡管如果不想使用元組,我們可以建立一個自定義類來管理相關數(shù)據(jù),但是namedtuple數(shù)據(jù)類型可以是非常有用的輕量級數(shù)據(jù)結構。  通過集合模塊可用,namedtuple數(shù)據(jù)類型采用以下基本語法:namedtuple(Typename,field_names)。  語法雖然不太簡單,但實際上從概念上很容易理解。

讓我們看一些相關的例子。 理想的功能是創(chuàng)建一個數(shù)據(jù)結構,該結構可以存儲學生的信息,包括姓名,性別和學生ID號碼。

如您所知,使用namedtuple,我們可以使用更簡潔的代碼編寫輕量級的數(shù)據(jù)結構。 當然,應該注意,自定義類為您提供了可以操縱的更多功能。  但是,如果您的目的只是創(chuàng)建用于數(shù)據(jù)存儲和檢索目的的數(shù)據(jù)結構,則絕對可以考慮使用namedtuple。

3.使用enumerate()和zip()進行迭代

編碼的一項重要原則是DRY,它代表"不要重復自己"。  當我們處理一系列數(shù)據(jù)(例如數(shù)字列表)時,這是一項常見的任務,我們需要對列表中的每個數(shù)字執(zhí)行相同的操作。  為了避免重復相同的代碼,我們可以使用for循環(huán)來運行整個列表的迭代。

當我們迭代列表或任何序列時,有時我們還需要知道項目在序列中的位置。 有兩種方法可以做到這一點。 讓我們看看它們是什么。

如您所見,通過使用內置函數(shù)enumerate(),我們可以輕松地訪問序列中的索引和元素,這比第一次迭代更簡潔。  更重要的是,它可以設置一個起始數(shù)字進行計數(shù)。 在上面的示例中,我們將其設置為1。

除了enumerate()函數(shù)外,zip()函數(shù)在迭代中也很有用。 此函數(shù)能夠從多個可迭代對象創(chuàng)建元組,而無需顯式創(chuàng)建這些可迭代對象的復合可迭代對象。  聽起來有些混亂,但是我們可以在下面的示例中看到它的用法。

基本上,zip()函數(shù)的作用是在每次迭代中從可迭代對象中獲取每個元素,以依次形成一個元組。 該代碼比冗長的代碼更簡潔,可讀性更好,不是嗎?

4.使用f字符串格式化字符串

字符串是一種基本的數(shù)據(jù)類型,我們幾乎在任何地方都使用它們。 字符串的一項基本應用是將它們以某種格式使用。  有幾種格式化字符串的方法,為此,我想介紹一下f字符串。

簡而言之,f字符串是內插的字符串文字,使用字母f(或F)作為字符串文字的前綴。 為了編寫簡潔的代碼,我將僅向您展示兩個首選f字符串的用例。

  • 顯示變量。 最基本的用法是顯示一些變量的值,以便在開發(fā)過程中進行調試。 如果使用傳統(tǒng)的format()方法,則需要更長的時間。

  • 連接變量/連接字符串。 f字符串不是直接使用+符號和字符串的join()方法,而是用于字符串串聯(lián)的非常簡單的方法,并且具有優(yōu)質的可讀性。  實際用途包括構造文件路徑,如下例所示。

5. Lambda函數(shù)

Lambda函數(shù)是Python中的匿名函數(shù),通常在需要小的操作的地方使用。  Lambda函數(shù)可以采用一個或多個參數(shù),并且具有單個表達式,并且具有以下語法Lambda參數(shù):expression。

我將僅使用內置的sorted()函數(shù)來演示lambda函數(shù)的用法。 具體來說,sorted()函數(shù)使用key參數(shù)指定的key函數(shù)對可迭代對象進行排序。  我將向您展示,我們可以將lambda函數(shù)用作鍵參數(shù),而不是使用def關鍵字聲明常規(guī)函數(shù)。

到此,關于“編寫更簡潔Python代碼的技巧有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

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

AI