Python等級考試(7):第三方庫縱覽
來自專欄半導體材料與技術1 人贊了文章
我剛剛參加了今年的全國計算機等級考試二級Python編程,也是國內的首次Python等級考試。總體來說題目不難,對於我這種半路出家、直接應用的「野路子」來說,是一個鞏固基礎知識的契機。這裡將複習時的筆記整理成文章,以備日後查閱。
本系列將包括如下幾個部分,除此之外,還會更新一些番外和補遺。
1. 基本語法元素
2. 基本數據類型3. 組合數據類型4. 文件和數據格式化
5. 計算生態與內置函數6. turtle, random, time庫7. 第三方庫縱覽
以上內容是基於嵩天老師的《全國計算機等級考試二級教程——Python語言程序設計(2018年版)》所做的總結,基本結構與書本內容類似。嵩老師同時也是中國大學MOOC上多門Python編程課程的主講人,他的課程生動形象,且結合大量實操案例,是Python入門的精品課程。
本人能力有限,如有紕漏,還望大家批評指正。本文首發於知乎專欄「半導體材料與技術」,轉載請先私信作者。
第三方庫的獲取與安裝
最常用:pip/pip3,可安裝95%的第三方庫
自定義安裝
文件安裝
pip工具的命令:
常用第三方庫簡介
1. Pyinstaller
用於Py程序打包為exe
注意:文件路徑不得出現空格和英文句號;源文件必須為UTF-8編碼。常用
pyinstaller打包的必須是UTF-8,無BOM編碼格式
2. jieba庫:中文分詞
中文分詞。輸入字元串,返回分好的字元串列表。有三種分詞模式:
- 精確模式,最精確地分開,適合文本分析: jieba.lcut(s)
- 全模式,分出所有可能成詞的詞語,速度快但不能解決歧義:jieba.lcut(s, cut_all=True)
- 搜索引擎模式,在精確模式基礎上對長詞進行切分,提高召回率,適合搜索引擎:jieba.lcut_for_search(s)
jieba.add_word(s): 用於向jieba詞庫增加新的單詞。
jieba.load_userdict(file_name): 載入用戶自定義詞典
* 如果希望對文本準確分詞,不產生冗餘,只能選擇精確模式;如果希望對文本分詞更準確,不漏掉任何結果,使用全模式;沒想好怎麼用,使用搜索引擎模式。
3. worldcloud數據云
示 例:
from wordcloud import WordCloudtxt = I like python. I am learning python.wordcloud = WordCloud().generate(txt)wordcloud.to_file(wordcloud.png)
處理中文需要指定中文字體(放在同一目錄下,並使用font_path變數引用)。且中文要分詞後用空格連接成一串字元串。
其他第三方庫縱覽
對常用的第三方庫進行一個簡單的介紹。考試過程中不需要對這些庫進行非常仔細的了解,只需知道大致用途即可。如果有感興趣的庫,可以查閱相關資料了解。
1. 網路爬蟲方向
request:簡介簡單的處理HTTP請求的第三方庫,接近正常URL訪問流程。建立在Python的urllib3庫基礎上。
scrapy:專業爬蟲
2. 數據分析方向
numpy:開源數值計算,內部採用C編寫,可達到接近C的運行速度。
scipy:科學與工程計算庫。包括統計、優化、整合、線性代數、傅里葉變換、信號分析、圖像處理、常微分方程求解等。
pandas:基於numpy擴展的第三方庫
3. 文本處理方向
pdfminer:從PDF文檔中提取各類信息的第三方庫,並轉換為HTML
openpyxl:處理Excel
python-docx:處理word
beautifulsoup:解析和處理HTML和XML
4. 數據可視化方向
matplotlib:數據繪圖功能
TVTK:標準VTK上用Traits庫進行封裝的Python第三方庫。專業可編程的三維可視化工具
mayavi
5. 用戶圖形界面
PyQt5:Qt5應用框架的Python第三方庫,Python中最為成熟的商業GUI級第三方庫
wxPython
PyGTK
6. 機器學習
scikit-learn
TensorFlow:谷歌公司基於DistBelief進行研發的第二代人工智慧學習系統,AlphaGo的系統後台框架
Theano:深度學習中大規模神經網路演算法的運算設計,擅長處理多維數組。
7. Web方向
Django:開源Web應用框架,採用Model、Template、Views編寫模式(MTV)
Pyramid:通用、開源的Python Web應用程序開發框架
Flask:輕量級Web應用框架
8. 遊戲開發方向
Pygame:SDL庫基礎上進行封裝的、面向遊戲開發入門的Python第三方庫,還可用於製作多媒體應用,提供對音頻、鍵盤、滑鼠和圖形硬體的簡介訪問
Panda3D:開源、跨平台的3D渲染和遊戲開發庫,是一個3D遊戲引擎。支持Python和C++
cocos2d:2D遊戲和圖形界面互動式應用的框架,基於OpenGL進行圖形渲染,能夠利用GPU進行加速
9. 其他
PIL:圖像處理
SymPy:符號計算
NLTK:自然語言處理
WeRoBot:微信機器人框架,可用於解析伺服器
MyQR:藝術二維碼
推薦閱讀: