Python用了這麼多年,總結出超實用的功能和特點

智雲程式設計發表於2018-12-12

在使用Python這麼久,時不時就會發現了一些過去不知道的功能和特性。一些可以說是非常有用,但卻沒有充分利用。本篇文章總結出你應該瞭解的Python功能特色,希望大家在學習過程中,少走彎路,善用技巧!

Python用了這麼多年,總結出超實用的功能和特點


帶任意數量引數的函式

你可能已經知道了Python允許你定義可選引數。但還有一個方法,可以定義函式任意數量的引數。

首先,看下面是一個只定義可選引數的例子

Python用了這麼多年,總結出超實用的功能和特點

現在,讓我們看看怎麼定義一個可以接受任意引數的函式。我們利用元組來實現。

Python用了這麼多年,總結出超實用的功能和特點


使用Glob()查詢檔案

大多Python函式有著長且具有描述性的名字。但是命名為glob()的函式你可能不知道它是幹什麼的除非你從別處已經熟悉它了。

它像是一個更強大版本的listdir()函式。它可以讓你通過使用模式匹配來搜尋檔案。

Python用了這麼多年,總結出超實用的功能和特點

你可以像下面這樣查詢多個檔案型別:

Python用了這麼多年,總結出超實用的功能和特點


如果你想得到每個檔案的絕對路徑,你可以在返回值上呼叫realpath()函式:

Python用了這麼多年,總結出超實用的功能和特點

除錯

下面的例子使用inspect模組。該模組用於除錯目的時是非常有用的,它的功能遠比這裡描述的要多。

這篇文章不會覆蓋這個模組的每個細節,但會展示給你一些用例。

Python用了這麼多年,總結出超實用的功能和特點


生成唯一ID

在有些情況下你需要生成一個唯一的字串。我看到很多人使用md5()函式來達到此目的,但它確實不是以此為目的。

其實有一個名為uuid()的Python函式是用於這個目的的。

Python用了這麼多年,總結出超實用的功能和特點


你可能會注意到,即使字串是唯一的,但它們後邊的幾個字元看起來很相似。這是因為生成的字串與電腦的MAC地址是相聯絡的。

為了減少重複的情況,你可以使用這兩個函式。

Python用了這麼多年,總結出超實用的功能和特點


序列化

你曾經需要將一個複雜的變數儲存在資料庫或文字檔案中吧?你不需要想一個奇特的方法將陣列或物件格轉化為式化字串,因為Python已經提供了此功能。

Python用了這麼多年,總結出超實用的功能和特點

這是一個原生的Python序列化方法。然而近幾年來JSON變得流行起來,Python新增了對它的支援。現在你可以使用JSON來編解碼。

Python用了這麼多年,總結出超實用的功能和特點

這樣更緊湊,而且最重要的是這樣與JavaScript和許多其他語言相容。然而對於複雜的物件,其中的一些資訊可能丟失。

壓縮字元

當談起壓縮時我們通常想到檔案,比如ZIP結構。在Python中可以壓縮長字元,不涉及任何檔案檔案。

Python用了這麼多年,總結出超實用的功能和特點

註冊Shutdown函式

有可模組叫atexit,它可以讓你在指令碼執行完後立馬執行一些程式碼。

假如你想在指令碼執行結束時測量一些基準資料,比如執行了多長時間:

Python用了這麼多年,總結出超實用的功能和特點


打眼看來很簡單。只需要將程式碼新增到指令碼的最底層,它將在指令碼結束前執行。但如果指令碼中有一個致命錯誤或者指令碼被使用者終止,它可能就不執行了。

當你使用atexit.register()時,你的程式碼都將執行,不論指令碼因為什麼原因停止執行。

很多時候跟著書和不繫統的視訊網站學習,會發現沒有目標,學了很多卻不知道自己到底能夠做出什麼成績。要有一個清晰的職業學習規劃,學習過程中會遇到很多問題,你可以到我們的 python學習 -q-u-n- 【 784758214 】,基礎,進階。好友都會在裡面交流,分享一些學習的方法和需要注意的小細節,每天也會準時講一些專案實戰案例。

點選: 加入


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2285010/,如需轉載,請註明出處,否則將追究法律責任。

相關文章