<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          十大被低估的Python自帶庫(kù)!

          共 2212字,需瀏覽 5分鐘

           ·

          2022-05-17 05:27

          大家在學(xué)習(xí)python的過(guò)程中,都會(huì)了解到python的一個(gè)強(qiáng)大的功能在于各種強(qiáng)大的第三方庫(kù)函數(shù),大家只需要通過(guò)pip install 即可安裝我們需要的庫(kù)函數(shù)。


          大家往往只是關(guān)注自己安裝的python庫(kù),卻忽略了python自帶的庫(kù)函數(shù),或者是python自帶的庫(kù),今天小編就為大家介紹一下,十大被低估的python自帶庫(kù)或者是python自帶的函數(shù)。


          1.Counter

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

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


          2.NamedTuple

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

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


          3.DefaultDict

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

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


          4.Glob

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

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


          5.Math

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


          6.Argparse

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

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


          7.Copy

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

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

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


          8.itertools

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

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


          9.enum

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

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


          10.calendar

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

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


          以上10個(gè)python模塊,是非常有用的python自帶模塊,但是在大家平時(shí)的編程中卻較少使用,通過(guò)小編的講解,希望大家能更多的了解python自帶的強(qiáng)大模塊,在以后的編程中不斷的優(yōu)化自己的程序


          這10大庫(kù)里面有哪幾個(gè)是你沒(méi)有用過(guò)的,歡迎留言吱一聲!


          近期熱門:

          簡(jiǎn)單幾步,100行代碼用Python畫一個(gè)蝙蝠俠的logo

          還在做重復(fù)的勞動(dòng),不如用Python自動(dòng)生成Excel以郵件發(fā)送

          獨(dú)家秘籍,50行代碼教你買哪只黃金股


          點(diǎn)擊閱讀原文,原創(chuàng)400篇干貨文章

          瀏覽 46
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产婷婷色一区二区在线 | 91性爱视频 | 九色在线视频 | 国产精品呻吟久久 | A片免费网站 |