注明:本系列課程專為全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí) Python 語(yǔ)言程序設(shè)計(jì)考試服務(wù)
目錄
考綱考點(diǎn)
知識(shí)導(dǎo)圖
1、網(wǎng)絡(luò)爬蟲方向
requests
scrapy
2、數(shù)據(jù)分析方向
numpy
scipy
pandas
3、文本處理方向
pdfminer
openpyxl
python-docx
beautifulsoup4
4、數(shù)據(jù)可視化方向
數(shù)據(jù)可視化
matplotib
TVTK
5、用戶圖形界面方向
pyqt5
wxpython
6、機(jī)器學(xué)習(xí)方向
Scikit-learn
Tensorflow
Theano
7、Web開發(fā)方向
Django
Pyramid
Flask
8、游戲開發(fā)方向
Web開發(fā)方向
Pygame
Panda3D
cocos2d
9、更多第三方庫(kù)
PIL
SymPy
NLTK
WeRoBot
MyQR
本章小結(jié)
考綱考點(diǎn)
- 更廣泛的Python計(jì)算生態(tài),只要求了解第三方庫(kù)的名稱,不限于以下領(lǐng)域: 網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析、文本處理、數(shù)據(jù)可視化、用戶圖形界面、機(jī)器學(xué)習(xí)、Web開發(fā)、游戲開發(fā)等
知識(shí)導(dǎo)圖

1、網(wǎng)絡(luò)爬蟲方向
- 網(wǎng)絡(luò)爬蟲是自動(dòng)進(jìn)行HTTP訪問并捕獲HTML頁(yè)面的程序。Python語(yǔ)言提供了多個(gè)具備網(wǎng)絡(luò)爬蟲功能的第三方庫(kù)。這里,僅介紹2個(gè)常用的Python網(wǎng)絡(luò)爬蟲庫(kù):requests和scrapy。
requests
- requests庫(kù)是一個(gè)簡(jiǎn)潔且簡(jiǎn)單的處理HTTP請(qǐng)求的第三方庫(kù),它的最大優(yōu)點(diǎn)是程序編寫過程更接近正常URL訪問過程。這個(gè)庫(kù)建立在Python語(yǔ)言的urllib3庫(kù)基礎(chǔ)上。request庫(kù)支持非常豐富的鏈接訪問功能。
- 安裝requests庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install requests
scrapy
- scrapy是Python開發(fā)的一個(gè)快速的、高層次的Web獲取框架。不同于簡(jiǎn)單的網(wǎng)絡(luò)爬蟲功能,scrapy框架本身包含了成熟網(wǎng)絡(luò)爬蟲系統(tǒng)所應(yīng)該具有的部分共用功能,
- scrapy用途廣泛,可以應(yīng)用于專業(yè)爬蟲系統(tǒng)的構(gòu)建、數(shù)據(jù)挖掘、網(wǎng)絡(luò)監(jiān)控和自動(dòng)化測(cè)試等領(lǐng)域。
- 安裝scrapy庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install scrapy
2、數(shù)據(jù)分析方向
數(shù)據(jù)分析是Python的一個(gè)優(yōu)勢(shì)方向,具有大批高質(zhì)量的第三方庫(kù)。這里僅介紹3個(gè)最常用的生態(tài)庫(kù):numpy、scipy和pandas。
numpy
- numpy是Python的一種開源數(shù)值計(jì)算擴(kuò)展第三方庫(kù),用于處理數(shù)據(jù)類型相同的多維數(shù)組(ndarray),簡(jiǎn)稱“數(shù)組”。
- 這個(gè)庫(kù)可用來存儲(chǔ)和處理大型矩陣,比Python語(yǔ)言提供的列表結(jié)構(gòu)要高效的多。numpy提供了許多高級(jí)的數(shù)值編程工具,如:矩陣運(yùn)算、矢量處理、N維數(shù)據(jù)變換等。
- numpy內(nèi)部是C語(yǔ)言編寫,對(duì)外采用Python語(yǔ)言進(jìn)行封裝,因此,在進(jìn)行數(shù)據(jù)運(yùn)算時(shí),基于numpy的Python程序可以達(dá)到接近C語(yǔ)言的處理速度。numpy也成為Python數(shù)據(jù)分析方向各其他庫(kù)的基礎(chǔ)依賴庫(kù),已經(jīng)成為了科學(xué)計(jì)算事實(shí)上的“標(biāo)準(zhǔn)庫(kù)”。
- 安裝numpy庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install numpy
scipy
- scipy是一款方便、易于使用、專為科學(xué)和工程設(shè)計(jì)的Python工具包。在numpy庫(kù)的基礎(chǔ)上增加了眾多的數(shù)學(xué)、科學(xué)以及工程計(jì)算中常用的庫(kù)函數(shù)。它包括統(tǒng)計(jì)、優(yōu)化、整合、線性代數(shù)、傅里葉變換、信號(hào)分析、圖像處理、常微分方程求解等眾多模塊。
- 安裝scipy庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install scipy
pandas
- pandas是基于numpy擴(kuò)展的一個(gè)重要第三方庫(kù),它是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas提供了一批標(biāo)準(zhǔn)的數(shù)據(jù)模型和大量快速便捷處理數(shù)據(jù)的函數(shù)和方法,提供了高效地操作大型數(shù)據(jù)集所需的工具。
- pandas 提供兩種最基本的數(shù)據(jù)類型:Series和DataFrame,分別代表一維數(shù)組和二維數(shù)組類型。
- 安裝pandas庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install pandas
3、文本處理方向
- Python語(yǔ)言非常適合處理文本,因此,在這個(gè)方向也形成了大量有價(jià)值的第三方庫(kù)。這里介紹4個(gè)最常用的生態(tài)庫(kù):pdfminer、openpyxl、python-docx、beautifulsoup4。
pdfminer
- pdfminer是一個(gè)可以從PDF文檔中提取各類信息的第三方庫(kù)。與其他PDF相關(guān)的工具不同,它能夠完全獲取并分析P D F 的文本數(shù)據(jù)。Pdfminer能夠獲取PDF中文本的準(zhǔn)確位置、字體、行數(shù)等信息,能夠?qū)DF文件轉(zhuǎn)換為HTML及文本格式。
- pdfminer包含兩個(gè)重要的工具: pdf2txt.py 和dumppdf.py。
- pdf2txt.py能夠從PDF文件中提取所有文本內(nèi)容。dumppdf.py能夠把PDF文件內(nèi)容變成XML格式,并進(jìn)一步提取其中的圖片。
- 安裝pdfminer庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install pdfminer
openpyxl
- openpyxl是一個(gè)處理Microsoft Excel文檔的Python第三方庫(kù),它支持讀寫Excel的xls、xlsx、xlsm、xltx、xltm等格式文件,并進(jìn)一步能處理Excel文件中excel工作表、表單和數(shù)據(jù)單元。
- 安裝openpyxl庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install openpyxl
python-docx
- python-docx是一個(gè)處理Microsoft Word文檔的Python第三方庫(kù),它支持讀取、查詢以及修改doc、docx等格式文件,并能夠?qū)ord常見樣式進(jìn)行編程設(shè)置,包括:字符樣式、段落樣式、表格樣式等,進(jìn)一步可以使用這個(gè)庫(kù)實(shí)現(xiàn)添加和修改文本、圖像、樣式和文檔等功能。
- 安裝python-docx庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install openpyxl
beautifulsoup4
- beautifulsoup4庫(kù),也稱為Beautiful Soup庫(kù)或bs4庫(kù),用于解析和處理HTML和XML。需要注意,它不是BeautifulSoup庫(kù)。它的最大優(yōu)點(diǎn)是能根據(jù)HTML和XML語(yǔ)法建立解析樹,進(jìn)而高效解析其中的內(nèi)容。
- beautifulsoup4庫(kù)將數(shù)據(jù)從HTML和XML文件中解析出來,它能夠提供一種符合習(xí)慣的方法去遍歷搜索和修改解析樹,將專業(yè)的Web頁(yè)面格式解析部分封裝成函數(shù),提供了若干有用且便捷的處理函數(shù)。
- 安裝beautifulsoup4庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install beautifulsoup4
4、數(shù)據(jù)可視化方向
數(shù)據(jù)可視化
- 數(shù)據(jù)可視化指根據(jù)數(shù)據(jù)特點(diǎn)將其展示為易于理解圖形的過程。Python語(yǔ)言在數(shù)據(jù)可視化方面具有較強(qiáng)的優(yōu)勢(shì)。這里介紹3個(gè)最常用的生態(tài)庫(kù):matplotlib、TVTK、mayavi。
matplotib
- matplotlib是提供數(shù)據(jù)繪圖功能的第三方庫(kù),主要進(jìn)行二維圖表數(shù)據(jù)展示,廣泛用于科學(xué)計(jì)算的數(shù)據(jù)可視化。使用這個(gè)庫(kù)可以利用Python程序繪制超過100種數(shù)據(jù)可視化效果。
- 安裝matplotlib庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install matplotlib
TVTK
- TVTK庫(kù)在標(biāo)準(zhǔn)的VTK庫(kù)之上用Traits庫(kù)進(jìn)行封裝的Python第三方庫(kù)。視覺工具函數(shù)庫(kù)(VTK)是一個(gè)開源、跨平臺(tái)、支持平行處理的圖形應(yīng)用函數(shù)庫(kù),它是專業(yè)可編程的三維可視化工具。TVTK在Python生態(tài)系統(tǒng)中被等同于VTK。
- 安裝matplotlib庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install vtk
- mayavi基于VTK開發(fā),完全用Python編寫,提供了一個(gè)更為方便實(shí)用的可視化軟件,可以簡(jiǎn)潔地嵌入到用戶編寫的Python程序中,或者直接使用其面向腳本的API快速繪制三維可視化圖形。值得注意的是,mayavi也被稱為mayavi2。
- mayavi庫(kù)在Windows平臺(tái)上暫時(shí)不能方便的使用pip命令安裝,建議使用文件安裝,請(qǐng)下載mayavi對(duì)應(yīng)版本文件,然后在本地安裝。
5、用戶圖形界面方向
- Python標(biāo)準(zhǔn)庫(kù)內(nèi)置了一個(gè)GUI庫(kù)——tkinter,這個(gè)庫(kù)基于Tck/Tk開發(fā),然而,這個(gè)庫(kù)十分陳舊,提供的開發(fā)控件也很有限,編寫出來的GUI風(fēng)格與現(xiàn)代程序GUI風(fēng)格相差甚遠(yuǎn),從用戶體驗(yàn)角度說,tkinter庫(kù)并不成熟。
- 這里介紹3個(gè)高質(zhì)量的用戶圖形界面Python生態(tài)庫(kù):pyqt5、wxpython、pygtk。
pyqt5
- pyqt5是Qt5應(yīng)用框架的Python第三方庫(kù),它有超過6 2 0個(gè)類和近6 0 0 0個(gè)函數(shù)和方法。它是Python中最為成熟的商業(yè)級(jí)GUI第三方庫(kù)。這個(gè)庫(kù)是Python語(yǔ)言當(dāng)前最好的GUI第三方庫(kù),它可以在Windows、Linux和Mac OS X等操作系統(tǒng)上跨平臺(tái)使用。
- pyqt5采用“信號(hào)-槽”機(jī)制將事件和對(duì)應(yīng)的處理程序進(jìn)行綁定。pyqt5窗體有很多內(nèi)置信號(hào),也可以自定義信號(hào)。
- 安裝pyqt5庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install pyqt5
wxpython
wxPython是Python語(yǔ)言的一套優(yōu)秀的GUI圖形庫(kù),它是跨平臺(tái)GUI庫(kù)wxWidgets的Python封裝,可以使Python程序員能夠輕松地創(chuàng)建健壯可靠、功能強(qiáng)大的圖形用戶界面的程序。
安裝wxpython庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install wxpython
- pygtk是基于GTK+的Python語(yǔ)言封裝,它提供了各式的可視元素和功能,能夠輕松創(chuàng)建具有圖形用戶界面的程序。pygtk具有跨平臺(tái)性,利用它編寫的代碼能夠不加修改地穩(wěn)定運(yùn)行在各操作系統(tǒng)中,如Windows、MacOS、Linux等。
- 安裝wxpython庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install pygtk
6、機(jī)器學(xué)習(xí)方向
機(jī)器學(xué)習(xí)是人工智能領(lǐng)域的一個(gè)重要分支,Python語(yǔ)言也是機(jī)器學(xué)習(xí)和人工智能的重要基礎(chǔ)語(yǔ)言。這里介紹3個(gè)高質(zhì)量的機(jī)器學(xué)習(xí)框架: Scikit-learn、TensorFlow、Theano。
Scikit-learn
- Scikit-learn是一個(gè)簡(jiǎn)單且高效的數(shù)據(jù)挖掘和數(shù)據(jù)分析工具,它基于NumPy、SciPy和matplotlib構(gòu)建。Scikitlearn的基本功能主要包括6個(gè)部分:分類,回歸,聚類,數(shù)據(jù)降維,模型選擇和數(shù)據(jù)預(yù)處理。Scikit-learn也被稱為sklearn。
- 安裝Scikit-learn庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install scikit-learn
Tensorflow
- TensorFlow是谷歌公司基于DistBelief進(jìn)行研發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng),也是用來支撐著名的AlphaGo系統(tǒng)的后臺(tái)框架。Tensor(張量)指N維數(shù)組,F(xiàn)low(流)指基于數(shù)據(jù)流圖的計(jì)算,TensorFlow描述張量從流圖的一端流動(dòng)到另一端的計(jì)算過程。
- 安裝TensorFlow庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install tensorflow
Theano
- Theano為執(zhí)行深度學(xué)習(xí)中大規(guī)模神經(jīng)網(wǎng)絡(luò)算法的運(yùn)算而設(shè)計(jì),擅長(zhǎng)處理多維數(shù)組。Theano開發(fā)始于2007,可以理解它是一個(gè)運(yùn)算數(shù)學(xué)表達(dá)式的編譯器,并可以高效運(yùn)行在GPU或CPU上。Theano是一個(gè)偏向底層開發(fā)的庫(kù),更像一個(gè)研究平臺(tái)而非單純的深度學(xué)習(xí)庫(kù)。
- 安裝Theano庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install theano
7、Web開發(fā)方向
- Web開發(fā)是Python語(yǔ)言流行的一個(gè)重要方向,主要用于服務(wù)器后端開發(fā)。根據(jù)Python Web開發(fā)框架的復(fù)雜程度,這里依次介紹3個(gè)Python第三方生態(tài)庫(kù):Django、Pyramid、Flask。
Django
- Django是Python生態(tài)中最流行的開源Web應(yīng)用框架。Django采用模型、模板和視圖的編寫模式,稱為MTV模式。Django中提供了開發(fā)網(wǎng)站經(jīng)常用到的模塊,Django的開發(fā)理念是DRY(Don't Repeat Yourself),用于鼓勵(lì)快速開發(fā),進(jìn)而減少程序員可以建立一個(gè)高性能Web應(yīng)用所花費(fèi)的時(shí)間和精力,形成一種一站式解決方案。
- 安裝Django庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install django
Pyramid
- Pyramid是一個(gè)通用、開源的Python Web應(yīng)用程序開發(fā)框架。它主要的目的是讓Python開發(fā)者更簡(jiǎn)單的創(chuàng)建Web應(yīng)用,相比Django,Pyramid是一個(gè)相對(duì)小巧、快速、靈活的開源Python Web框架。Pyramid仍然面向較大規(guī)模的Web應(yīng)用,但它更關(guān)注靈活性,開發(fā)者可以靈活選擇所使用的數(shù)據(jù)庫(kù)、模板風(fēng)格、URL結(jié)構(gòu)等內(nèi)容。
- 安裝Pyramid庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install pyramid
Flask
- Flask是輕量級(jí)Web應(yīng)用框架,相比Django和Pyramid,它也被稱為微框架。使用Flask開發(fā)Web應(yīng)用十分方便,甚至幾行代碼即可建立一個(gè)小型網(wǎng)站。Flask核心十分簡(jiǎn)單,并不直接包含諸如數(shù)據(jù)庫(kù)訪問等的抽象訪問層,而是通過擴(kuò)展模塊形式來支持。
- 安裝Flask庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install flask
8、游戲開發(fā)方向
Web開發(fā)方向
- 游戲開發(fā)是一個(gè)有趣的方向,在游戲邏輯和功能實(shí)現(xiàn)層面,Python已經(jīng)成為重要的支撐性語(yǔ)言。這里介紹3個(gè)Python第三方生態(tài)庫(kù):Pygame、Panda3D、cocos2d。
Pygame
- Pygame是在SDL庫(kù)基礎(chǔ)上進(jìn)行封裝的、面向游戲開發(fā)入門的Python第三方庫(kù),除了制作游戲外,還用于制作多媒體應(yīng)用程序。其中,SDL(Simple DirectMedia Layer)是開源、跨平臺(tái)的多媒體開發(fā)庫(kù),通過OpenGL和Direct3D底層函數(shù)提供對(duì)音頻、鍵盤、鼠標(biāo)和圖形硬件的簡(jiǎn)潔訪問。
- Pygame是一個(gè)游戲開發(fā)框架,提供了大量與游戲相關(guān)的底層邏輯和功能支持,非常適合作為入門庫(kù)理解并實(shí)踐游戲開發(fā)。
- 安裝Pygame庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install pygame
Panda3D
- Panda3D是一個(gè)開源、跨平臺(tái)的3D渲染和游戲開發(fā)庫(kù),簡(jiǎn)答說,它是一個(gè)3D游戲引擎,由迪士尼和卡耐基梅隆大學(xué)娛樂技術(shù)中心共同進(jìn)行開發(fā)。Panda3D支持Python和C++兩種語(yǔ)言,但對(duì)Python支持更全面。
- Panda3D支持很多當(dāng)代先進(jìn)游戲引擎所支持的特性:法線貼圖、光澤貼圖、HDR、卡通渲染和線框渲染等。
- 安裝Panda3D庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install panda3d
cocos2d
- cocos2d是一個(gè)構(gòu)建2D游戲和圖形界面交互式應(yīng)用的框架,它包括C++、JavaScript、Swift、Python等多個(gè)版本。cocos2d基于OpenGL進(jìn)行圖形渲染,能夠利用GPU進(jìn)行加速。cocos2d引擎采用樹形結(jié)構(gòu)來管理游戲?qū)ο螅粋€(gè)游戲劃分為不同場(chǎng)景,一個(gè)場(chǎng)景又分為不同層,每個(gè)層處理并響應(yīng)用戶事件。
- 安裝cocos2d庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install cocos2d
9、更多第三方庫(kù)
- Python語(yǔ)言有超過12萬(wàn)個(gè)第三方庫(kù),覆蓋信息技術(shù)幾乎所有領(lǐng)域。即使在每個(gè)方向,也會(huì)有大量的專業(yè)人員開發(fā)多個(gè)第三方庫(kù)來給出具體設(shè)計(jì)。除了本章所提到的方向外,這里再列出5個(gè)有趣且有用的Python第三方庫(kù),展示Python在工程實(shí)踐方面強(qiáng)大的魅力。
PIL
- PIL庫(kù)是Python語(yǔ)言在圖像處理方面的重要第三方庫(kù),支持圖像存儲(chǔ)、顯示和處理,它能夠處理幾乎所有圖片格式,可以完成對(duì)圖像的縮放、剪裁、疊加以及向圖像添加線條、圖像和文字等操作。
- PIL庫(kù)主要可以完成圖像歸檔和圖像處理兩方面功能需求:
圖像歸檔:對(duì)圖像進(jìn)行批處理、生成圖像預(yù)覽等;
圖像處理:圖像基本處理、像素處理、顏色處理等。
- 安裝PIL庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install pillow
SymPy
- SymPy是一個(gè)支持符號(hào)計(jì)算的Python第三方庫(kù),它是一個(gè)全功能的計(jì)算機(jī)代數(shù)系統(tǒng)。SymPy代碼簡(jiǎn)潔、易于理解,支持符號(hào)計(jì)算、高精度計(jì)算、模式匹配、繪圖、解方程、微積分、組合數(shù)學(xué)、離散數(shù)學(xué)、幾何學(xué)、概率與統(tǒng)計(jì)、物理學(xué)等領(lǐng)域計(jì)算和應(yīng)用。
- 安裝SymPy庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install sympy
NLTK
- NLTK是一個(gè)非常重要的自然語(yǔ)言處理Python第三方庫(kù),它支持多種語(yǔ)言,尤其對(duì)中文支持良好。NLTK可以進(jìn)行語(yǔ)料處理、文本統(tǒng)計(jì)、內(nèi)容理解、情感分析等多種應(yīng)用,具備非??煽康膽?yīng)用價(jià)值。
- 安裝NLTK庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install nltk
WeRoBot
- WeRoBot 是一個(gè)微信公眾號(hào)開發(fā)框架,也稱為的微信機(jī)器人框架。WeRoBot可以解析微信服務(wù)器發(fā)來的消息,并將消息轉(zhuǎn)換成成Message或者Event類型。
- 安裝WeRoBot庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install werobot
MyQR
- MyQR是一個(gè)能夠產(chǎn)生基本二維碼、藝術(shù)二維碼和動(dòng)態(tài)效果二維碼的Python第三方庫(kù)。下圖給出了一些MyQR生成二維碼的實(shí)例。

- 安裝MyQR庫(kù)在Windows的cmd命令行使用如下命令:
:\>pip install myqr
本章小結(jié)
本章通過8個(gè)具體方向30個(gè)Python功能庫(kù)的簡(jiǎn)要介紹縱覽Python語(yǔ)言計(jì)算生態(tài)的豐富性,希望讀者能夠從Python基礎(chǔ)語(yǔ)法出發(fā),看到更廣闊的程序設(shè)計(jì)生態(tài),進(jìn)一步“理解和運(yùn)用計(jì)算生態(tài)”,掌握符合信息時(shí)代需要的程序設(shè)計(jì)能力。
國(guó)家計(jì)算機(jī)等級(jí)考試不僅僅是一場(chǎng)考試,更是檢驗(yàn)?zāi)芰μ嵘氖侄?,加油?/p>
|