Python等級考試(7):第三方庫縱覽

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庫:中文分詞

中文分詞。輸入字元串,返回分好的字元串列表。有三種分詞模式:

  1. 精確模式,最精確地分開,適合文本分析: jieba.lcut(s)
  2. 全模式,分出所有可能成詞的詞語,速度快但不能解決歧義:jieba.lcut(s, cut_all=True)
  3. 搜索引擎模式,在精確模式基礎上對長詞進行切分,提高召回率,適合搜索引擎:jieba.lcut_for_search(s)

jieba.add_word(s): 用於向jieba詞庫增加新的單詞。

jieba.load_userdict(file_name): 載入用戶自定義詞典

* 如果希望對文本準確分詞,不產生冗餘,只能選擇精確模式;如果希望對文本分詞更準確,不漏掉任何結果,使用全模式;沒想好怎麼用,使用搜索引擎模式。

jieba的分詞功能 分詞結果見上方變數表

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:藝術二維碼

推薦閱讀:

TAG:Python入門 | 計算機等級考試 |