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