十二、Python 第三方庫

2021-02-23 三七驛館

應部分朋友後臺留言的要求,再次把去年的Python筆記拿來分享,此筆記為作者於2018年度準備 Pthon國家計算機二級考試的筆記,如有錯誤,請後臺留言指導。

這一講,主要簡單的介紹:第三方庫的獲取和安裝

考綱:更廣泛的 Python 計算生態,只要求了解第三方庫的名稱,不限於以下領域:網絡爬蟲數據分析文本處理數據可視化用戶圖形界面機器學習Web 開發遊戲開發

具體從 8 個方向了解 30 個 Python 功能庫:

一、Python網絡爬蟲方向,2個常用庫:requests 和 scrapy:

requests 庫是一個簡潔且簡單的處理 HTTP 請求的第三方庫,它的最大優點是程序編寫過程更接近正常 URL 訪問過程。這個庫建立在 Python 語言的 urllib3 庫基礎上。scrapy 庫是 Python 開發的一個快速的、高層次的 Web 獲取框架。不同於簡單的網絡爬蟲功能,scrapy 框架本身包含了成熟網絡爬蟲系統所應該具有的部分共用功能,scrapy用途廣泛,可以應用於專業爬蟲系統的構建、數據挖掘、網絡監控和自動化測試等領域。

二、數據分析方向,3個最常用的生態庫:numpy 、scipy 和 pandas:

numpy 是 Python 的一種開源數值計算擴展第三方庫,用於處理數據類型相同的多維數組(ndarray),簡稱「數組」。這個庫可用來存儲和處理大型矩陣,比 Python 語言提供的列表結構要高效的多。numpy 提供了許多高級的數值編程工具,如:矩陣運算、矢量處理、N維數據變換等。numpy 內部是 C 語言編寫,對外採用 Python 語言進行封裝,因此,在進行數據運算時,基於 numpy 的Python程序可以達到接近 C 語言的處理速度。numpy 也成為 Python 數據分析方向各其他庫的基礎依賴庫,已經成為了科學計算事實上的「標準庫」。scipy 是一款方便、易於使用、專為科學和工程設計的 Python 工具包。在 numpy 庫的基礎上增加了 眾多的數學、科學以及工程計算中常用的庫函數。它包括統計、優化、整合、線性代數、傅立葉變換、信號分析、圖像處理、
常微分方程求解等眾多模塊。pandas 是基於 numpy 擴展的一個重要第三方庫,它是為了解決數據分析任務而創建的。Pandas 提供了一批標準的數據模型和大量快速便捷處理數據的函數和方法,提供了高效地操作大型數據集所需的工具。pandas 提供兩種最基本的數據類型:Series 和 DataFrame,分別代表一維數組和二維數組類型。

三、文本處理方向,4個最常用的生態庫:pdfminer、openpyxl、python-docx、beautifulsoup4

pdfminer 是一個可以 從 PDF 文檔中提取各類信息的第三方庫。與其他 PDF 相關的工具不同,它能夠完全獲取並分析 PDF 的文本數據 。Pdfminer 能夠獲取 PDF 中文本的準確位置、字體、行數等信息,能夠將 PDF 文件轉換為 HTML 及文本格式。pdfminer 包含兩個重要的工具:pdf2txt.py 和 dumppdf.py。pdf2txt.py 能夠從 PDF 文件中提取所有文本內容;dumppdf.py 能夠把 PDF 文件內容變成 XML 格式,並進一步提取其中的圖片。openpyxl 是一個處理 Microsoft Excel 文檔的 Python 第三方庫,它支持讀寫Excel 的 xls、xlsx、xlsm、xltx、xltm 等格式文件,並能處理 Excel 文件中 excel 工作表、表單和數據單元。python-docx 是一個 處理 Microsoft Word 文檔的 Python 第三方庫,它支持讀取、查詢以及修改 doc、docx 等格式文件,並能夠對 Word 常見樣式進行編程設置,包括:字符樣式、段落樣式、表格樣式等,進一步可以使用這個庫實現添加和修改文本、圖像、樣式和文檔等功能。beautifulsoup4 庫,也稱為 Beautiful Soup 庫或 bs4 庫,用於解析和處理 HTML 和 XML。需要注意,它不是 BeautifulSoup 庫。它的最大優點是能根據 HTML 和 XML 語法建立解析樹,進而高效解析其中的內容。beautifulsoup4 庫 將數據從 HTML  和 XML 文件中解析出來,它能夠提供一種符合習慣的方法去遍歷搜索和修改解析樹,將專業的 Web 頁面格式解析部分封裝成函數,提供了若干有用且便捷的處理函數。
pip install beautifulsoup4

四、數據可視化方向,3個最常用的生態庫:matplotlib 、TVTK 、mayavi。

matplotlib 是提供 數據繪圖功能的第三方庫,主要進行二維圖表數據展示,廣泛用於科學計算的數據可視化。使用這個庫可以利用 Python 程序繪製超過100種數據可視化效果,TVTK 庫在標準的 VTK 庫之上用 Traits 庫進行封裝的 Python 第三方庫。視覺工具函數庫(VTK)是一個開源、跨平臺、支持平行處理的 圖形應用函數庫,它是專業可編程的三維可視化工具。TVTK在Python生態系統中被等同於VTK。mayavi 基於 VTK 開發,完全用 Python 編寫,提供了一個更為方便實用的可視化軟體,可以簡潔地嵌入到用戶編寫的 Python 程序中,或者直接使用其面向腳本的 API 快速繪製三維可視化圖形。值得注意的是,mayavi 也被稱為 mayavi2。mayavi 庫在Windows平臺上暫時不能方便的使用 pip 命令安裝,建議使用文件安裝,請下載 mayavi 對應版本文件,然後在本地安裝。

五、用戶圖形界面方向,3個高質量的用戶圖形界面Python生態庫:pyqt5 、wxpython 、pygtk

    

pyqt5 是 Qt5 應用框架的 Python 第三方庫,它有超過620個類和近6000個函數和方法。它是 Python 中最為成熟的商業級 GUI 第三方庫。這個庫是 Python語言當前最好的 GUI 第三方庫,它可以在 Windows、Linux 和 Mac OS X 等作業系統上跨平臺使用。pyqt5 採用「信號-槽」機制將事件和對應的處理程序進行綁定。pyqt5 窗體有很多內置信號,也可以自定義信號。

    wxPython 是 Python 語言的一套優秀的 GUI 圖形庫,它是跨平臺 GUI 庫 wxWidgets 的 Python 封裝,可以使 Python 程式設計師能夠輕鬆地創建健壯可靠、功能強大的圖形用戶界面的程序。

    pygtk 是基於 GTK+ 的 Python 語言封裝,它提供了各式的可視元素和功能,能夠輕鬆創建具有圖形用戶界面的程序。pygtk 具有跨平臺性,利用它編寫的代碼能夠不加修改地穩定運行在各作業系統中,如 Windows、MacOS、Linux 等。

六、機器學習方向:3個高質量的機器學習框架:Scikit-learn 、TensorFlow 、Theano

    

Scikit-learn 是一個簡單且高效的 數據挖掘和數據分析工具,它基於NumPy、SciPy 和 matplotlib 構建。Scikit-learn 的基本功能主要包括6個部分:分類,回歸,聚類,數據降維,模型選擇和數據預處理。Scikit-learn 也被稱為 sklearn。

    TensorFlow 是谷歌公司基於DistBelief進行研發的第二代人工智慧學習系統,也是用來支撐著名的AlphaGo系統的後臺框架。Tensor(張量)指N維數組,Flow(流)指基於數據流圖的計算,TensorFlow 描述張量從流圖的
一端流動到另一端的計算過程。

    Theano為執行深度學習中大規模神經網絡算法的運算而設計,擅長處理多維數組。Theano 開發始於2007,可以理解它是一個運算數學表達式的編譯器,並可以高效運行在 GPU 或 CPU 上。Theano 是一個 偏向底層開發的庫,更像一個研究平臺而非單純的深度學習庫。

    

七、Web開發方向,3個Python第三方生態庫:Django 、Pyramid 、Flask

     

Django 是 Python 生態中 最流行的開源 Web 應用框架。Django 採用模型、模板和視圖的編寫模式,稱為 MTV 模式。Django 中提供了開發網站經常用到的模塊,Django 的開發理念是 DRY(Don't Repeat Yourself),用於鼓勵快速開發,進而減少程式設計師可以建立一個高性能Web應用所花費的時間和精力,形成一種一站式解決方案。Pyramid 是一個通用、開源的Python Web應用程式開發框架。它主要的目的是讓 Python 開發者更簡單的創建 Web 應用,相比 Django,Pyramid 是一個 相對小巧、快速、靈活的開源 Python Web 框架。Pyramid 仍然面向較大規模的 Web 應用,但它更關注靈活性,開發者可以靈活選擇所使用的資料庫、模板風格、URL 結構等內容。

    Flask 是輕量級 Web 應用框架,相比 Django 和 Pyramid,它也被稱為 微框架。使用 Flask 開發 Web 應用十分方便,甚至幾行代碼即可建立一個小型網站。Flask 核心十分簡單,並不直接包含諸如資料庫訪問等的抽象訪問層,而是通過擴展模塊形式來支持。

八、遊戲開發方向,3個Python第三方生態庫:Pygame 、Panda3D 、cocos2d

Pygame 是在 SDL 庫基礎上 進行封裝的、面向遊戲開發入門的 Python 第三方庫,除了製作遊戲外,還用於製作多媒體應用程式。其中,SDL(Simple DirectMedia Layer)是開源、跨平臺的多媒體開發庫,通過 OpenGL 和 Direct3D 底層函數提供對音頻、鍵盤、滑鼠和圖形硬體的簡潔訪問。Pygame 是一個遊戲開發框架,提供了大量與遊戲相關的底層邏輯和功能支持, 非常適合作為入門庫理解並實踐遊戲開發。Panda3D 是一個開源、跨平臺的 3D 渲染和遊戲開發庫,簡單說,它是一個 3D 遊戲引擎,由迪士尼和卡耐基梅隆大學娛樂技術中心共同進行開發。Panda3D 支持 Python 和 C++ 兩種語言,但對 Python 支持更全面。Panda3D 支持很多當代先進遊戲引擎所支持的特性:法線貼圖、光澤貼圖、HDR、卡通渲染和線框渲染等。cocos2d 是一個構建 2D 遊戲和圖形界面交互式應用的框架,它包括 C++、JavaScript、Swift、Python 等多個版本。cocos2d 基於OpenGL 進行圖形渲染,能夠利用 GPU 進行加速。cocos2d 引擎採用樹形結構來管理遊戲對象,一個遊戲劃分為不同場景,一個場景又分為不同層,每個層處理並響應用戶事件。

更多第三方庫:這裡再列出5個有趣且有用的Python第三方庫,展示Python在工程實踐方面強大的魅力。

PIL 庫是 Python 語言在圖像處理方面的重要第三方庫,支持圖像存儲、顯示和處理,它能夠處理幾乎所有圖片格式,可以完成對圖像的縮放、剪裁、疊加以及向圖像添加線條、圖像和文字等操作。PIL 庫主要可以完成圖像歸檔和圖像處理兩方面功能需求:圖像歸檔:對圖像進行批處理、生成圖像預覽等;圖像處理:圖像基本處理、像素處理、顏色處理等。SymPy 是一個 支持符號計算的 Python 第三方庫,它是一個全功能的 計算機代數系統。SymPy 代碼簡潔、易於理解,支持符號計算、高精度計算、模式匹配、繪圖、解方程、微積分、組合數學、離散數學、幾何學、概率與統計、物理學等領域計算和應用。NLTK 是一個非常重要的自然語言處理 Python 第三方庫,它支持多種語言, 尤其對中文支持良好。NLTK 可以進行語料處理、文本統計、內容理解、情感分析等多種應用,具備非常可靠的應用價值。WeRoBot 是一個微信公眾號開發框架,也稱為的微信機器人框架。WeRoBot 可以解析微信伺服器發來的消息,並將消息轉換成 Message 或者 Event 類型。MyQR 是一個能夠產生 基本二維碼、藝術二維碼和動態效果二維碼的 Python 第三方庫

摘選自《國家計算機二級等級考試二級教程》——Python程序語言設計

-精彩內容推薦-

世界正在偷偷獎勵善良的人

火遍全網的小貓點頭它來了!

25歲 如果我不將就結婚那該多好? 

相關焦點

  • 140種Python標準庫、第三方庫和外部工具都有了
    >類型:第三方庫描述:xml對象解析和格式化處理推薦度:★13. xpath類型:第三方庫描述:22. mysql-connector-python類型:第三方庫描述:MySQL-python25. cx_Oracle類型:第三方庫描述:Oracle連接庫推薦度:★★★26. psycopg2
  • Python安裝第三方庫,Windows難安裝模塊要怎麼安裝
    有人喜歡叫庫,有人喜歡叫模塊學習python除去基礎,大部分時間都是在跟模塊打交道。所以需要知道安裝第三方庫、安裝模塊。為了編寫可維護的代碼,我們把很多函數分組,分別放到不同的文件裡,這樣,每個文件包含的代碼就相對較少,很多程式語言都採用這種組織代碼的方式。在Python中,一個.py文件就稱之為一個模塊。使用模塊有什麼好處?
  • 最全Python數據工具箱:標準庫、第三方庫和外部工具都在這裡了
    [第三方庫]用於Excel文件讀寫★★pyExcelerator[第三方庫]用於Excel文件讀寫★openpyxl[第三方庫]用於Excel文件讀寫★lxml[第三方庫]xml和HTML讀取和解析★★★xml[Python
  • 慢步學習,python庫文件概述,再來點第三方庫文件安裝的乾貨
    python庫文件是什麼?python的庫文件就是迄今為止,已經實證可以解決一定編程問題的代碼庫,所有python程序開發者都可以使用。就像哆啦A夢的百寶袋,你可以直接從這個百寶袋中取來「如意門」這個庫文件,通過正確使用這個庫文件,你就能按你心意,到達你想到達的地方。
  • 每個python人都離不開的12個python庫
    如果說python能取得今天的成就,一方面是它簡介的語法,更重要的一方面就是它豐富的第三方庫,可以毫不誇張的說,只要你能想到的任何一個功能模塊,都有對應的python庫,可以說正是因為有了豐富的python庫,python才發展得如此迅速,下面我們來看看python人最常用的20個python
  • 使用Python進行機器學習常用的第三方庫
    使用Python編程就不得不提到它強大的第三方庫,那在我們的機器學習中,我們會使用到哪些第三方庫呢?接下來我為大家進行介紹;NumPy&SciPyNumPy時Python最為基礎的編程庫。Scikit-learnScikit-learn是機器學習的核心程序庫,依託於上面的幾種工具包,封裝了大量經典以及最新的機器學習模型。作為一款用於機器學習和實踐的Python第三方開源程序庫,Scikit-learn無疑是成功的。無論是其出色的藉口設計,還是高效的學習能力,都使它成為了核心工具包。
  • 如何在Visual Studio開發工具安裝python庫
    >技術pythonDjango在python語言開發工具的pycharm中,可以安裝第三方庫。那麼,在Visual Studio開發工具中,如何安裝python第三方庫呢?下面利用實例說明:操作步驟:1、打開Visual Studio 2019開發工具,創建python項目
  • 這樣安裝 Python 庫才是最正確的哦~
    平常我都是直接執行 pip install 安裝的第三方庫,很多教程也是這麼介紹的,一直以來我都認為這是標準的、正確的安裝 Python 第三方庫的姿勢。直到我最近看到Python核心開發者Brett Cannon 寫的一篇文章。簡單總結來說,他認為其實最正確的安裝方式是使用 python-m pip 來執行 pip 命令,無論什麼情況下均是如此。
  • Python 用xlwings庫處理Excel
    xlwing庫在網上查看了一些python處理excel庫資料,參考相關內容《Python讀寫Excel文件第三方庫匯總,你想要的都在這兒
  • Python「庫」在樹莓派中的應用解析
    (Library),它是Python的特色之一,是具有相關聯功能的模塊集合,包括標準庫和第三方擴展庫,可用於文件讀寫、網絡抓取和解析、數據計算和統計分析、圖像和視頻處理、數據可視化和交互學習等,功能非常強大。
  • 推薦一些能提高生產力的 Python 庫
    ,Python 之所以火爆除了其本身的語法和特性之外,還在一定程度上取決於其有太多太多庫的支持,不論是官方維護的還是第三方開發的。一些回答直接把 awesome-python 貼過來,點讚非常多,當然多歸多,但是裡面很多都是些過期的或者其實沒太有什麼價值的庫,反而會增加了挑選庫的成本。我大體上把一些回答過了一遍,另外結合自己平時了解的內容,稍微對一些基礎生產力庫做了簡單的梳理,在這裡分享給大家。
  • Python常用庫大全
    ptpython – 高級交互式Python解析器, 構建於python-prompt-toolkit 之上。 python-magic- 文件類型檢測的第三方庫 libmagic 的 Python 接口。
  • 慢步python,說說import,引用功能代碼(功能庫、py文件代碼)
    今天慢步休息,繼續學習python語言。其實慢步已經將基礎和必要的python語言知識點寫了。那麼import的價值就出來了,比如引用time庫,就可以在程序內使用time庫裡面的功能代碼。運行結果是得到當前的時間 2020-05-10 13:04:07python作為一個開源的程式語言,已經存在海量的功能庫,像剛才的time庫是python的標準庫之一,就是已經存在的,直接用import引用即可。
  • Python學習第141課——Python爬蟲簡介
    【每天幾分鐘,從零入門python編程的世界!】今天我們簡單的了解下網絡爬蟲,網絡爬蟲其實就是一個自動獲取網頁內容的程序。Python的爬蟲需要用到一個第三方的庫requests。requests庫可以在git bash中使用命令pip install requests進行安裝。
  • 10個Python程序必備庫,介紹給大家
    Python是 一個很好入門的程式語言,現在也很火只要是開發人員都應該多多少少會去學習下python怎麼使用,它之所有很火除了語法很自由以為,還有很大量的可以使用的python庫,包括本地庫和第三方庫。然而,由於python庫太多了,因此有些很好用的庫沒有受到太多的關注也就不足為奇了。另外,專門在一個領域工作的小夥伴並不總是知道其他領域的庫對有他有什麼好處。
  • 如何使用python語言第三方庫獲取CPU信息
    工具python運行環境Visual Studio技術psutilpythondjango在Visual Studio 2019開發工具中,我們創建python項目,然後新建python文件,安裝psutil第三方庫,接著獲取電腦CPU的相關信息。
  • Python擴展庫安裝與常見問題解決完整指南
    /3/library/index.html進行查看),但沒有集成任何擴展庫,程式設計師可以根據實際需要再安裝第三方擴展庫。截至2021年1月,pypi已經收錄了超過28萬個擴展庫項目,涉及很多領域的應用,例如jieba(用於中文分詞)、moviepy(用於編輯視頻文件)、xlrd(用於讀取Excel 2003之前版本文件)、xlwt(用於寫入Excel 2003之前版本文件)、openpyxl(用於讀寫Excel2007及更高版本文件)、python-docx(用於讀寫Word 2007及更新版本文件)、python-pptx
  • Python網絡編程之BeautifulSoup庫的使用(一)
    1 BeautifulSoup庫簡介BeautifulSoup是python的一個庫,其提供一些簡單的、python式的函數用來處理導航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數據,因為簡單,所以不需要多少代碼就可以寫出一個完整的應用程式。
  • Python學習第94課-通過第三方接口獲得數據並導入Python繪圖
    【每天幾分鐘,從零入門python編程的世界!】上節課我們學習了導入外部文件數據並繪圖。這節課我們學習通過第三方接口獲得數據並導入Python進行繪圖。我們的數據接口使用Tushare,Tushare是一個免費、開源的python財經數據接口包。
  • 如何利用PyCharm安裝第三方包
    包可用理解為庫,它的作用在於,其包含的一組特定功能的操作,能夠被應用到其他的Python程序中。例如:第三方已經寫好了特定功能的實現,他們將這些實現以包的方式發布出來,其他程式設計師可以在代碼中直接調用,這樣就大大簡化了編程實現的難度。