溫馨提示×

溫馨提示×

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

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

Python自帶哪些庫

發(fā)布時(shí)間:2023-04-13 09:50:55 來源:億速云 閱讀:149 作者:iii 欄目:編程語言

這篇文章主要講解了“Python自帶哪些庫”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python自帶哪些庫”吧!

1.Counter

Counter的主要用途從名字就可以看出,它是用來進(jìn)行計(jì)數(shù)統(tǒng)計(jì)的,在進(jìn)行數(shù)據(jù)分析或者是統(tǒng)計(jì)時(shí),我們經(jīng)常需要用到計(jì)數(shù),而Counter會幫助我們寫出更加簡介的代碼,如下圖所示。

Python自帶哪些庫

上述程序中,可以看到,使用Counter可以用簡單的兩行程序完成字符的統(tǒng)計(jì),并且還可以進(jìn)行排序輸出的操作,大大簡化了代碼。

2.NamedTuple

nametuple繼承了tuple類,使用nametuple可以創(chuàng)建一個類對象,并且該對象擁有可以訪問的屬性,這有什么用處呢,我們利用下面的程序來講解。

Python自帶哪些庫

上述的程序中,注釋的第一段程序沒有使用nametuple,而當(dāng)features的特征數(shù)量過多時(shí),我們想使用其中的某一個或者某些特征時(shí),我們不容易獲得特征的索引,從而帶來不必要的麻煩。當(dāng)我們使用nametuple時(shí),我們可以很輕松的通過特征名稱來訪問特定的數(shù)據(jù)的特征。

3.DefaultDict

Defaultdict是具有默認(rèn)初始值的字典,當(dāng)我們訪問defaultdict的鍵值不存在時(shí),它會返回默認(rèn)值,例如下面的程序所示:

Python自帶哪些庫

程序中,我們創(chuàng)建了一個int類型的defaultdict,當(dāng)我們想將“python”存儲到字典中去時(shí),dict會報(bào)錯,而defaultdict會有初始化的默認(rèn)值0,從而讓我們輕松的按鍵值存儲數(shù)值。這里我們創(chuàng)建的時(shí)int類型的defaultdict,所以默認(rèn)初始值為0,當(dāng)我們創(chuàng)建list的defaultdict時(shí),默認(rèn)初始值就是空列表。

4.Glob

Glob模塊的用處主要是用來匹配我們指定路徑下的文件信息,并以列表的形式返回匹配到的文件絕對路徑,如下圖所示:

Python自帶哪些庫

程序中,我們匹配了路徑下的所有jpg和png圖片,并返回了它們的絕對路徑。

5.Math

Math模塊是python自帶的簡單數(shù)學(xué)函數(shù)模塊,包括了指數(shù)、對數(shù)、正弦余弦等函數(shù)。

Python自帶哪些庫

6.Argparse

Argparse模塊的使用,一方面可以讓我們編寫命令行接口,大大美化我們的程序,使我們的程序看起來更加的美觀,另一方面也使得我們對于程序的修改也更加的便捷。

Python自帶哪些庫

上述程序中,我們定義了兩個參數(shù)a和b,并規(guī)定它們必須要輸入,argparse會自動解析我們的輸入數(shù)據(jù),并轉(zhuǎn)化為指定的類型(int),然后我們主程序的兩數(shù)相加,并輸出結(jié)果。在這里我只是為大家簡單的展示了argparse的功能,其強(qiáng)大的魅力需要在大量的程序中才能體現(xiàn)出來。

7.Copy

對于copy模塊,主要涉及到淺拷貝和深拷貝的內(nèi)容,這里需要明白淺拷貝和深拷貝的區(qū)別,對于深拷貝,無論是對于可變對象還是不可變對象,都是統(tǒng)統(tǒng)的創(chuàng)建一個新的變量,而對于淺拷貝,則較為復(fù)雜,如下圖所示:

Python自帶哪些庫

這里我們用程序?qū)ι鲜龅膱D進(jìn)行解釋,如下所示:

Python自帶哪些庫

如上圖所示,對于不可變對象,淺拷貝只是復(fù)制了相同的地址給到拷貝對象。但是當(dāng)我們修改simple_str的值時(shí),copy_simple_str卻沒有改變,這是因?yàn)樽址遣豢勺冾愋停孕薷膕imple_str的值,編譯器會開辟新的空間,保存simple_str原先的值,讓copy_simple_str指向它。對于復(fù)雜的可變類型,從結(jié)果可以看出其子對象并沒有被完全復(fù)制,因此對copy_complex_dict進(jìn)行修改,同樣會修改complex_dict中的子對象。

8.itertools

itertools 模塊中包含了許多有用的迭代器函數(shù),熟練的運(yùn)用它們可以極大的提高工作效率。這里小編簡單的舉幾個itertools使用舉例:

Python自帶哪些庫

上述的程序中,分別利用permutations來生成所有的排列組合,并使用count函數(shù)與zip結(jié)合生成序列號。需要注意的是這里的permutations和count生成的都是迭代器,從而可以大大的節(jié)省內(nèi)存空間。

9.enum

在python中,enum模塊同樣實(shí)現(xiàn)了對于枚舉類型的支持,在枚舉集合中,枚舉成員應(yīng)該是唯一的而且是不可變的。

Python自帶哪些庫

上圖中我們定義了一個Week的枚舉類,然后通過這個類來計(jì)算出今天之后應(yīng)該是周幾。

10.calendar

calendar模塊用于處理與日歷相關(guān)的函數(shù),如我們最常見的判斷是否是閏年,calendar只需要一行程序便可以幫助我們完成計(jì)算:

Python自帶哪些庫

上圖程序中我們分別利用calendar輸出了是否是閏年,以及打印月歷,判斷星期等,利用calendar可以在處理日歷問題上達(dá)到事半功倍的效果。

感謝各位的閱讀,以上就是“Python自帶哪些庫”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Python自帶哪些庫這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

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

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

AI