Python本身內(nèi)置的巨大標(biāo)準(zhǔn)庫提供了豐富的工具和功能,可以滿足你能想到的任何需求。很多Python學(xué)習(xí)者習(xí)慣于自己寫代碼實現(xiàn)一些基本功能,然后驚奇的發(fā)現(xiàn)很多功能已經(jīng)內(nèi)置了,直接就可以使用。
任何時候想要自己寫函數(shù)處理一些簡單的工作時,請停下來先看一下標(biāo)準(zhǔn)庫。至少大概瀏覽一遍標(biāo)準(zhǔn)庫,這樣,下次需要一個函數(shù)時就能知道是否可以利用標(biāo)準(zhǔn)庫中已有的函數(shù)了。
- atexit 允許注冊在程序退出時調(diào)用的函數(shù)。
- argparse 提供解析命令行參數(shù)的函數(shù)
- bisect 為可排序列表提供二分查找算法
- calendar 提供一組與日歷相關(guān)的函數(shù)。
- codecs 提供編碼解碼數(shù)據(jù)的函數(shù)。
- collections 提供一組有用的數(shù)據(jù)結(jié)構(gòu)。
- copy 提供復(fù)制數(shù)據(jù)的函數(shù)
- cvs 提供用于讀寫CVS文件的函數(shù)。
- datetime 提供用于處理日期和時間的類。
- fnmatch 提供用于匹配Unix風(fēng)格文件名模式的函數(shù)。
- functools 該模塊為高階函數(shù)提供支持——作用于或返回函數(shù)的函數(shù)被稱為高階函數(shù)。在該模塊看來,一切可調(diào)用的對象均可視為本模塊中所說的“函數(shù)”。
- concurrent 提供異步計算。
- glob 提供用于匹配Unix風(fēng)格路徑模式的函數(shù)。
- io 提供用于處理I/O流的函數(shù)。在Python3中,它還包含StringIO,可以像處理文件已有處理字符串。
- json 提供用來讀寫JSON格式數(shù)據(jù)的函數(shù),
- logging 提供和對Python內(nèi)置的日志功能的訪問,
- mutiprocessing 可以在應(yīng)用程序中運(yùn)行多個子進(jìn)程,而且提供API讓這些子進(jìn)程看上去像線程一樣,
- operator 提供實現(xiàn)基本的Python運(yùn)算符功能的函數(shù), 可以使用這些函數(shù)而不是字節(jié)寫lambda表達(dá)式,
- os 提供對基本的操作系統(tǒng)函數(shù)的訪問,
- random 提供生成偽隨機(jī)數(shù)的函數(shù)。
- re 提供正則表達(dá)式功能。
- sched 提供一個無需多線程的事件調(diào)度器。
- select 提供對函數(shù)select()和pool()的訪問,用于創(chuàng)建事件循環(huán)。
- shutil 提供對高級文件處理函數(shù)的訪問。
- signal 提供用于處理POSIX信號的函數(shù)。
- tempfile 提供用于創(chuàng)建臨時文件和目錄的函數(shù)。
- threading 提供對處理高級線程功能的訪問。
- urllib 提供處理和解析URL的函數(shù)。
- uuid 可以生成全局唯一標(biāo)識符(Universally Unique Identifiers, UUID)。
大多數(shù)標(biāo)準(zhǔn)庫都是用Python寫的,所以可以直接查看其模塊和函數(shù)的源碼。有疑問時只需打開代碼自己一探究竟。盡管文檔中已經(jīng)包含了你想知道的一切,但總還是有機(jī)會讓你學(xué)一些有用的東西。