更新時間:2016年09月01日17時25分 來源:傳智播客 瀏覽次數(shù):
在這些年的開發(fā)過程中,深有體會的一點就是,學(xué)習(xí)一門編程語言,除了要精通它的語法以外,更需要我們?nèi)W(xué)習(xí)該門語言的標(biāo)準(zhǔn)庫。標(biāo)準(zhǔn)庫是多年以來,大量開發(fā)人員留給我們的寶貴財富,它涵蓋了編程中的方方面面。從發(fā)送Email到GUI開發(fā),再到內(nèi)置的Http服務(wù)器,一應(yīng)俱全。
Python標(biāo)準(zhǔn)庫從Python誕生到現(xiàn)在,已經(jīng)擁有接近200個模塊(包),可以完成我們需要的所有工作??赡苡行┤藭f,這么多模塊,怎么學(xué)的過來呢。是的,標(biāo)準(zhǔn)庫的內(nèi)容是很多,但是,我們可以選擇我們所在的領(lǐng)域中的一些常用標(biāo)準(zhǔn)庫,經(jīng)過系統(tǒng)的學(xué)習(xí),我們也能在該領(lǐng)域更好地工作。今天就來說一說在web開發(fā)中,我們最常用的標(biāo)準(zhǔn)庫。
一、 文本
1. string
常用的a-z、0-9、不可打印字符等等這些都在string模塊里定義好了,開發(fā)中可以直接導(dǎo)入使用。
2. re
正則表達(dá)式的作用就不言而喻了吧,我們所需要的正則就在re模塊中。
二、 數(shù)據(jù)結(jié)構(gòu)
1. collections
Python內(nèi)置的數(shù)據(jù)結(jié)構(gòu)有時可能并不能滿足我們?nèi)粘5拈_發(fā),這時可以在collections模塊中去尋找,如Counter、deque、OrderedDict等等,這些有用的數(shù)據(jù)結(jié)構(gòu)我們可以直接使用,而不必我們再去重復(fù)造輪子了。
2. copy
Python中的想要實現(xiàn)深拷貝,就只有使用copy中的deepcopy了。
3. struct
在網(wǎng)絡(luò)中二進(jìn)制的打包與解包就用它了。
三、 算法
1. functools
functools封裝了編寫函數(shù)是常用的一些功能,如裝飾器中的wraps,偏函數(shù)partial等等。
2. itertools
迭代器相關(guān)的函數(shù),如chain、count、repeat、cycle等。
四、 日期和時間
開發(fā)中常會處理一些日期和時間相關(guān)的邏輯,一下便是常用的一些模塊。
1. time
時鐘時間相關(guān)的函數(shù)
2. datetime
日期相關(guān)的函數(shù)
3. calendar
日期相關(guān)的函數(shù)
五、 數(shù)學(xué)計算
1. decimal
定點數(shù)和浮點數(shù)的運算
2. fractions
有理數(shù)
3. random
隨機數(shù)相關(guān)
4. math
數(shù)學(xué)函數(shù)
六、 文件系統(tǒng)
1. os
操作系統(tǒng)相關(guān)的一些操作
2. tempfile
臨時文件
3. StringIO
類似于文件api的文本緩沖區(qū)
七、 數(shù)據(jù)壓縮與歸檔
1. zlib
GNU zlib壓縮
2. gzip
GNU zip文件
3. tarfile
tar歸檔文件
4. zipfile
zip文檔文件
八、 密碼
hashlib用戶密碼的散列
九、 進(jìn)程與線程
1. subprocess
創(chuàng)建附加進(jìn)程
2. signal
異步信號事件
3. threading
線程管理
4. multiprocessing
進(jìn)程管理
十、 網(wǎng)絡(luò)通信
1. socket
socket套接字網(wǎng)絡(luò)通信相關(guān)
十一、Internet
1. urlparse
解析url
2. urllib系列
對網(wǎng)絡(luò)資源的訪問
3. base64
用Ascii編碼二進(jìn)制數(shù)據(jù),網(wǎng)絡(luò)中常用
4. cookie
HTTP cookie相關(guān)
5. json
使用json數(shù)據(jù)時常用的模塊
十二、 Email
smtplib用來發(fā)送郵件
十三、本地化與國際化
1. gettext
消息編目
2. locale
本地化API
十四、 開發(fā)工具
1. traceback
異常和棧信息
2. pdb
調(diào)試工具
十五、 運行時特性
1. site
全站點配置
2. sys
系統(tǒng)特定的配置
3. platform
系統(tǒng)版本信息
十六、 語言工具
1. warnings
非致命警告
2. abc
抽象基類
3. dis
字節(jié)碼反匯編工具
4. inspect
檢查現(xiàn)場對象
5. exceptions
內(nèi)置的異常類
十七、 模塊與包
importlib導(dǎo)包
由于時間有限,以后有機會再一一給大家細(xì)化這些模塊。