<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自帶庫!

          共 3192字,需瀏覽 7分鐘

           ·

          2022-03-23 10:54


          大家在學習python的過程中,都會了解到python的一個強大的功能在于各種強大的第三方庫函數(shù),大家只需要通過pip install 即可安裝我們需要的庫函數(shù)。


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


          1.Counter

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

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


          2.NamedTuple

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

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


          3.DefaultDict

          Defaultdict是具有默認初始值的字典,當我們訪問defaultdict的鍵值不存在時,它會返回默認值,例如下面的程序所示:

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


          4.Glob

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

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


          5.Math

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


          6.Argparse

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

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


          7.Copy

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

          這里我們用程序對上述的圖進行解釋,如下所示:

          如上圖所示,對于不可變對象,淺拷貝只是復制了相同的地址給到拷貝對象。但是當我們修改simple_str的值時,copy_simple_str卻沒有改變,這是因為字符串是不可變類型,所以修改simple_str的值,編譯器會開辟新的空間,保存simple_str原先的值,讓copy_simple_str指向它。對于復雜的可變類型,從結果可以看出其子對象并沒有被完全復制,因此對copy_complex_dict進行修改,同樣會修改complex_dict中的子對象。


          8.itertools

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

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


          9.enum

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

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


          10.calendar

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

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


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


          這10大庫里面有哪幾個是你沒有用過的,歡迎留言吱一聲!



          有興趣的同學可以火速加入我們的星球
          3周零基礎入門提供10節(jié)課程
          全年12節(jié)趣味實戰(zhàn)項目含源碼,
          每月獎勵優(yōu)秀的Top3同學送書
          專業(yè)的答疑群,大廠的老師保姆式的教學

          如果不滿意,三天內隨意退款!一年88,現(xiàn)在優(yōu)惠16元



          掃碼加入,3周零基礎入門





          推薦閱讀:

          入門: 最全的零基礎學Python的問題  | 零基礎學了8個月的Python  | 實戰(zhàn)項目 |學Python就是這條捷徑


          干貨:爬取豆瓣短評,電影《后來的我們》 | 38年NBA最佳球員分析 |   從萬眾期待到口碑撲街!唐探3令人失望  | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |碟中諜這么火,我用機器學習做個迷你推薦系統(tǒng)電影


          趣味:彈球游戲  | 九宮格  | 漂亮的花 | 兩百行Python《天天酷跑》游戲!


          AI: 會做詩的機器人 | 給圖片上色 | 預測收入 | 碟中諜這么火,我用機器學習做個迷你推薦系統(tǒng)電影


          小工具: Pdf轉Word,輕松搞定表格和水??! | 一鍵把html網(wǎng)頁保存為pdf!|  再見PDF提取收費! | 用90行代碼打造最強PDF轉換器,word、PPT、excel、markdown、html一鍵轉換 | 制作一款釘釘?shù)蛢r機票提示器! |60行代碼做了一個語音壁紙切換器天天看小姐姐!


          年度爆款文案

          點閱讀原文,看B站22個原創(chuàng)視頻!

          瀏覽 31
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  天天摸日日摸狠狠添 | 凹凸在线视频 | 成人淫色视频在线观看 | 亚洲AⅤ无码一区二区波多野按摩 | 在线观看AV热码 |