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