在使用Python多年以后,我偶然發(fā)現(xiàn)了一些我們過去不知道的功能和特性。一些可以說是非常有用,但卻沒有充分利用??紤]到這一點(diǎn),我編輯了一些你應(yīng)該了解的Python功能特色。
帶任意數(shù)量參數(shù)的函數(shù)
你可能已經(jīng)知道了Python允許你定義可選參數(shù)。但還有一個方法,可以定義函數(shù)任意數(shù)量的參數(shù)。
首先,看下面是一個只定義可選參數(shù)的例子

現(xiàn)在,讓我們看看怎么定義一個可以接受任意參數(shù)的函數(shù)。我們利用元組來實(shí)現(xiàn)。

使用 Glob() 查找文件
大多Python函數(shù)有著長且具有描述性的名字。但是命名為glob()的函數(shù)你可能不知道它是干什么的除非你從別處已經(jīng)熟悉它了。
它像是一個更強(qiáng)大版本的listdir()函數(shù)。它可以讓你通過使用模式匹配來搜索文件。

你可以像下面這樣查找多個文件類型:

如果你想得到每個文件的絕對路徑,你可以在返回值上調(diào)用realpath()函數(shù):

調(diào)試
下面的例子使用inspect模塊。該模塊用于調(diào)試目的時(shí)是非常有用的,它的功能遠(yuǎn)比這里描述的要多。
這篇文章不會覆蓋這個模塊的每個細(xì)節(jié),但會展示給你一些用例。

生成唯一 ID
在有些情況下你需要生成一個唯一的字符串。我看到很多人使用md5()函數(shù)來達(dá)到此目的,但它確實(shí)不是以此為目的。
其實(shí)有一個名為uuid()的Python函數(shù)是用于這個目的的。

你可能會注意到,即使字符串是唯一的,但它們后邊的幾個字符看起來很相似。這是因?yàn)樯傻淖址c電腦的MAC地址是相聯(lián)系的。
為了減少重復(fù)的情況,你可以使用這兩個函數(shù)。

序列化
你曾經(jīng)需要將一個復(fù)雜的變量存儲在數(shù)據(jù)庫或文本文件中吧?你不需要想一個奇特的方法將數(shù)組或?qū)ο蟾褶D(zhuǎn)化為式化字符串,因?yàn)镻ython已經(jīng)提供了此功能。

這是一個原生的Python序列化方法。然而近幾年來JSON變得流行起來,Python添加了對它的支持?,F(xiàn)在你可以使用JSON來編解碼。

這樣更緊湊,而且最重要的是這樣與JavaScript和許多其他語言兼容。然而對于復(fù)雜的對象,其中的一些信息可能丟失。
壓縮字符
當(dāng)談起壓縮時(shí)我們通常想到文件,比如ZIP結(jié)構(gòu)。在Python中可以壓縮長字符,不涉及任何檔案文件。

注冊 Shutdown 函數(shù)
有可模塊叫atexit,它可以讓你在腳本運(yùn)行完后立馬執(zhí)行一些代碼。想要一起學(xué)習(xí)交流想要共同進(jìn)步的可以加python學(xué)習(xí)q-u-n-227+435+450 ,里有許多學(xué)習(xí)視頻資料等待著大家
假如你想在腳本執(zhí)行結(jié)束時(shí)測量一些基準(zhǔn)數(shù)據(jù),比如運(yùn)行了多長時(shí)間:

打眼看來很簡單。只需要將代碼添加到腳本的最底層,它將在腳本結(jié)束前運(yùn)行。但如果腳本中有一個致命錯誤或者腳本被用戶終止,它可能就不運(yùn)行了。
當(dāng)你使用atexit.register()時(shí),你的代碼都將執(zhí)行,不論腳本因?yàn)槭裁丛蛲V惯\(yùn)行。
-
模塊
+關(guān)注
關(guān)注
7文章
2816瀏覽量
52495 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4401瀏覽量
66520 -
python
+關(guān)注
關(guān)注
56文章
4849瀏覽量
89180
原文標(biāo)題:原來 Python 還有這些實(shí)用的功能和特點(diǎn)!
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
MPLS供應(yīng)商應(yīng)該提供的一些特定功能
了解MOSFET的一些原理
Python 的一些冷知識(一)
python的一些冷知識(二)
Python的一些畫圖函數(shù)
介紹Python 3 的功能 讓人輕松地從Python 2遷移到Python 3
關(guān)于USB 4你所需要了解的一些知識
Python入門應(yīng)該避免什么樣的錯誤
Python的一些經(jīng)典面試題資料合集免費(fèi)下載
一些常用且實(shí)用的Python代碼實(shí)例
一些值得玩味的python代碼
如何使用 Python 來創(chuàng)建一些強(qiáng)大的應(yīng)用和實(shí)用工具
使用PyCharm時(shí)的一些實(shí)用設(shè)置和技巧

一些你應(yīng)該了解的Python功能特色
評論