⑴ python中的庫都有哪些
標准庫
sys
系統相關的參數和函數。 sys 庫一般用來訪問和修改系統相關信息,比如查看 python 版本、系統環境變數、模塊信息和 python 解釋器相關信息等等。
os
操作系統介面模塊。這個庫提供了訪問操作系統相關依賴的方式,比如輸入輸出操作、讀寫操作、操作系統異常錯誤信息、進程線程管理、文件管理、調度程序等等。
re
正則表達式操作。這個庫是我喜歡並且經常會用到的庫,在對大量字元串進行處理的時候用正則表達式是最快速有效的方式,但是正則表達式的學習曲線較高,有興趣的朋友可以訪問這個網站學習。
math
數學函數庫。 math 庫提供了對 C 語言標準定義的數學函數訪問,比如數論(Number-theoretic)的各種表示方法、冪和對數函數(Power and logarithmic functions)、三角函數(Trigonometric functions)、常量圓周率(π)和自然常數(e)等等。
random
生成偽隨機數。
偽隨機數與隨機數(真隨機數)不同的是執行環境,隨機數是真實世界中通過物理過程實踐得出結論,而偽隨機數是通過計算機的特定演算法生成的數,所以這個過程是可預測的、有規律的,只是循環周期較長,並不能與現實場景相切合。
random庫提供生成隨機數,可以模擬現實世界中隨機取數、隨機抽獎等等。望採納
⑵ python常用庫有哪些
python常用的庫有sys os 獲取系統相關信息
re 正則表達式模塊
numpy pandas sklearn 模塊用於科學計算
⑶ python常用的資料庫有哪些
主流的關系型資料庫:
1. MySQL:目前使用最廣泛的開源、多平台的關系型資料庫,支持事務、符合ACID、支持多數SQL規范。
2. SQL Server:支持事務、符合ACID、支持多數SQL規范,屬於商業軟體,需要注意版權和licence授權費用。
3. Oracle:支持事務,符合關系型資料庫原理,符合ACID,支持多數SQL規范,功能最強大、最復雜、市場佔比最高的商業資料庫。
4. Postgresql:開源、多平台、關系型資料庫,功能最強大的開源資料庫,需要Python環境,基於postgresql的time
scaleDB,是目前比較火的時序資料庫之一。
非關系型資料庫
Redis:開源、Linux平台、key-value鍵值型nosql資料庫,簡單穩定,非常主流的、全數據in-momory,定位於快的鍵值型nosql資料庫。
Memcaced:一個開源的、高性能的、具有分布式內存對象的緩存系統,通過它可以減輕資料庫負載,加速動態的web應用。
面向文檔資料庫以文檔的形式存儲,每個文檔是一系列數據項的集合,每個數據項有名稱與對應的值,主要產品有:
MongoDB:開源、多平台、文檔型nosql資料庫,最像關系型資料庫,定位於靈活的nosql資料庫。適用於網站後台資料庫、小文件系統、日誌分析系統。
⑷ python常用到哪些庫
Python作為一個設計優秀的程序語言,現在已廣泛應用於各種領域,依靠其強大的第三方類庫,Python在各個領域都能發揮巨大的作用。
下面我們就來看一下python中常用到的庫:
數值計算庫:
1. NumPy
支持多維數組與矩陣運算,也針對數組運算提供大量的數學函數庫。通常與SciPy和Matplotlib一起使用,支持比Python更多種類的數值類型,其中定義的最重要的對象是稱為ndarray的n維數組類型,用於描述相同類型的元素集合,可以使用基於0的索引訪問集合中元素。
2. SciPy
在NumPy庫的基礎上增加了眾多的數學、科學及工程計算中常用的庫函數,如線性代數、常微分方程數值求解、信號處理、圖像處理、稀疏矩陣等,可進行插值處理、信號濾波,以及使用C語言加速計算。
3. Pandas
基於NumPy的一種工具,為解決數據分析任務而生。納入大量庫和一些標準的數據模型,提供高效地操作大型數據集所需的工具及大量的能快速便捷處理數據的函數和方法,為時間序列分析提供很好的支持,提供多種數據結構,如Series、Time-Series、DataFrame和Panel。
數據可視化庫:
4. Matplotlib
第一個Python可視化庫,有許多別的程序庫都是建立在其基礎上或者直接調用該庫,可以很方便地得到數據的大致信息,功能非常強大,但也非常復雜。
5. Seaborn
利用了Matplotlib,用簡潔的代碼來製作好看的圖表。與Matplotlib最大的區別為默認繪圖風格和色彩搭配都具有現代美感。
6. ggplot
基於R的一個作圖庫ggplot2,同時利用了源於《圖像語法》(The Grammar of Graphics)中的概念,允許疊加不同的圖層來完成一幅圖,並不適用於製作非常個性化的圖像,為操作的簡潔度而犧牲了圖像的復雜度。
7. Bokeh
跟ggplot一樣,Bokeh也基於《圖形語法》的概念。與ggplot不同之處為它完全基於Python而不是從R處引用。長處在於能用於製作可交互、可直接用於網路的圖表。圖表可以輸出為JSON對象、HTML文檔或者可交互的網路應用。
8. Plotly
可以通過Python notebook使用,與Bokeh一樣致力於交互圖表的製作,但提供在別的庫中幾乎沒有的幾種圖表類型,如等值線圖、樹形圖和三維圖表。
9. pygal
與Bokeh和Plotly一樣,提供可直接嵌入網路瀏覽器的可交互圖像。與其他兩者的主要區別在於可將圖表輸出為SVG格式,所有的圖表都被封裝成方法,且默認的風格也很漂亮,用幾行代碼就可以很容易地製作出漂亮的圖表。
10. geoplotlib
用於製作地圖和地理相關數據的工具箱。可用來製作多種地圖,比如等值區域圖、熱度圖、點密度圖。必須安裝Pyglet(一個面向對象編程介面)方可使用。
11. missingno
用圖像的方式快速評估數據缺失的情況,可根據數據的完整度對數據進行排序或過濾,或者根據熱度圖或樹狀圖對數據進行修正。
web開發庫:
12. Django
一個高級的Python Web框架,支持快速開發,提供從模板引擎到ORM所需的一切東西,使用該庫構建App時,必須遵循Django的方式。
13. Socket
一個套接字通訊底層庫,用於在伺服器和客戶端間建立TCP或UDP連接,通過連接發送請求與響應。
14. Flask
一個基於Werkzeug、Jinja 2的Python輕量級框架(microframework),默認配備Jinja模板引擎,也包含其他模板引擎或ORM供選擇,適合用來編寫API服務(RESTful rervices)。
15. Twisted
一個使用Python實現的基於事件驅動的網路引擎框架,建立在deferred object之上,一個通過非同步架構實現的高性能的引擎,不適用於編寫常規的Web Apps,更適用於底層網路。
資料庫管理:
16. MySQL-python
又稱MySQLdb,是Python連接MySQL最流行的一個驅動,很多框架也基於此庫進行開發。只支持Python 2.x,且安裝時有許多前置條件。由於該庫基於C語言開發,在Windows平台上的安裝非常不友好,經常出現失敗的情況,現在基本不推薦使用,取代品為衍生版本。
17. mysqlclient
完全兼容MySQLdb,同時支持Python 3.x,是Django ORM的依賴工具,可使用原生SQL來操作資料庫,安裝方式與MySQLdb一致。
18. PyMySQL
純Python實現的驅動,速度比MySQLdb慢,最大的特點為安裝方式簡潔,同時也兼容MySQL-python。
19. SQLAlchemy
一種既支持原生SQL,又支持ORM的工具。ORM是Python對象與資料庫關系表的一種映射關系,可有效提高寫代碼的速度,同時兼容多種資料庫系統,如SQLite、MySQL、PostgreSQL,代價為性能上的一些損失。
自動化運維:
20. jumpsever跳板機
一種由Python編寫的開源跳板機(堡壘機)系統,實現了跳板機的基本功能,包含認證、授權和審計,集成了Ansible、批量命令等。
支持WebTerminal Bootstrap編寫,界面美觀,自動收集硬體信息,支持錄像回放、命令搜索、實時監控、批量上傳下載等功能,基於SSH協議進行管理,客戶端無須安裝agent。主要用於解決可視化安全管理,因完全開源,容易再次開發。
21. Mage分布式監控系統
一種用Python開發的自動化監控系統,可監控常用系統服務、應用、網路設備,可在一台主機上監控多個不同服務,不同服務的監控間隔可以不同,同一個服務在不同主機上的監控間隔、報警閾值可以不同,並提供數據可視化界面。
22. Mage的CMDB
一種用Python開發的硬體管理系統,包含採集硬體數據、API、頁面管理3部分功能,主要用於自動化管理筆記本、路由器等常見設備的日常使用。由伺服器的客戶端採集硬體數據,將硬體信息發送至API,API負責將獲取的數據保存至資料庫中,後台管理程序負責對伺服器信息進行配置和展示。
23. 任務調度系統
一種由Python開發的任務調度系統,主要用於自動化地將一個服務進程分布到其他多個機器的多個進程中,一個服務進程可作為調度者依靠網路通信完成這一工作。
24. Python運維流程系統
一種使用Python語言編寫的調度和監控工作流的平台,內部用於創建、監控和調整數據管道。允許工作流開發人員輕松創建、維護和周期性地調度運行工作流,包括了如數據存儲、增長分析、Email發送、A/B測試等諸多跨多部門的用例。
GUI編程:
25. Tkinter
一個Python的標准GUI庫,可以快速地創建GUI應用程序,可以在大多數的UNIX平台下使用,同樣可以應用在Windows和Macintosh系統中,Tkinter 8.0的後續版本可以實現本地窗口風格,並良好地運行在絕大多數平台中。
26. wxPython
一款開源軟體跨平台GUI庫wxWidgets的Python封裝和Python模塊,是Python語言的一套優秀的GUI圖形庫,允許程序員很方便地創建完整的、功能健全的GUI用戶界面。
27. PyQt
一個創建GUI應用程序的工具庫,是Python編程語言和Qt的成功融合,可以運行在所有主要操作系統上,包括UNIX、Windows和Mac。PyQt採用雙許可證,開發人員可以選擇GPL和商業許可,從PyQt的版本4開始,GPL許可證可用於所有支持的平台。
28. PySide
一個跨平台的應用程式框架Qt的Python綁定版本,提供與PyQt類似的功能,並相容API,但與PyQt不同處為其使用LGPL授權。
更多Python知識請關注Python自學網。
⑸ python庫有哪些
Python比較常見的庫有:Arrow、Behold、Click、Numba、Matlibplot、Pillow等:
1、Arrow
Python中處理時間的庫有datetime,但是它過於簡單,使用起來不夠方便和智能,而Arrow可以說非常的方便和智能。它可以輕松地定位幾個小時之前的時間,可以輕松轉換時區時間,對於一個小時前,2個小時之內這樣人性化的信息也能夠准確解讀。
2、Behold
調試程序是每個程序員必備的技能,對於腳本語言,很多人習慣於使用print進行調試,然而對於大項目來說,print的功能還遠遠不足,我們希望有一個可以輕松使用,調試方便,對變數監視完整,格式已於查看的工具,而Behold就是那個非常好用的調試庫。
3、Click
現在幾乎所有的框架都有自己的命令行腳手架,Python也不例外,那麼如何快速開發出屬於自己的命令行程序呢?答案就是使用Python的Click庫。Click庫對命令行api進行了大量封裝,你可以輕松開發出屬於自己的CLI命令集。終端的顏色,環境變數信息,通過Click都可以輕松進行獲取和改變。
4、Numba
如果你從事數學方面的分析和計算,那麼Numba一定是你必不可少的庫。Numpy通過將高速C庫包裝在Python介面中來工作,而Cython使用可選的類型將Python編譯為C以提高性能。但是Numba無疑是最方便的,因為它允許使用裝飾器選擇性地加速Python函數。
5、Matlibplot
做過數據分析,數據可視化的數學學生一定知道matlab這個軟體,這是一個收費的數學商用軟體,在Python中,Matlibplot就是為了實現這個軟體中功能開發的第三方Python庫。並且它完全是免費的,很多學校都是用它來進行數學教學和研究的。
6、Pillow
圖像處理是任何時候我們都需要關注的問題,平時我們看到很多ps中的神技,比如調整畫面顏色,飽和度,調整圖像尺寸,裁剪圖像等等,這些其實都可以通過Python簡單完成,而其中我們需要使用的庫就是Pillow。
7、pyqt5
Python是可以開發圖形界面程序的。而pyqt就是一款非常好用的第三方GUI庫,有了它,你可以輕松開發出跨平台的圖形應用程序,其中qtdesigner設計器,更是加速了我們開發圖形界面的速度。
除了上述介紹的之外,Python還有很多庫,比如:Pandas、NumPy、SciPy、Seaborn、Keras等。
⑹ 最受歡迎的 15 大 Python 庫有哪些
Python常用庫大全,看看有沒有你需要的。
環境管理
管理 Python 版本和環境的工具
p – 非常簡單的互動式 python 版本管理工具。
pyenv – 簡單的 Python 版本管理工具。
Vex – 可以在虛擬環境中執行命令。
virtualenv – 創建獨立 Python 環境的工具。
virtualenvwrapper- virtualenv 的一組擴展。
包管理
管理包和依賴的工具。
pip – Python 包和依賴關系管理工具。
pip-tools – 保證 Python 包依賴關系更新的一組工具。
conda – 跨平台,Python 二進制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分發的新標准,意在取代 eggs。
包倉庫
本地 PyPI 倉庫服務和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 鏡像工具。
devpi – PyPI 服務和打包/測試/分發工具。
localshop – 本地 PyPI 服務(自定義包並且自動對 PyPI 鏡像)。
分發
打包為可執行文件以便分發。
PyInstaller – 將 Python 程序轉換成獨立的執行文件(跨平台)。
dh-virtualenv – 構建並將 virtualenv 虛擬環境作為一個 Debian 包來發布。
Nuitka – 將腳本、模塊、包編譯成可執行文件或擴展模塊。
py2app – 將 Python 腳本變為獨立軟體包(Mac OS X)。
py2exe – 將 Python 腳本變為獨立軟體包(Windows)。
pynsist – 一個用來創建 Windows 安裝程序的工具,可以在安裝程序中打包 Python本身。
構建工具
將源碼編譯成軟體。
buildout – 一個構建系統,從多個組件來創建,組裝和部署應用。
BitBake – 針對嵌入式 Linux 的類似 make 的構建工具。
fabricate – 對任何語言自動找到依賴關系的構建工具。
PlatformIO – 多平台命令行構建工具。
PyBuilder – 純 Python 實現的持續化構建工具。
SCons – 軟體構建工具。
互動式解析器
互動式 Python 解析器。
IPython – 功能豐富的工具,非常有效的使用互動式 Python。
bpython- 界面豐富的 Python 解析器。
ptpython – 高級互動式Python解析器, 構建於python-prompt-toolkit 之上。
文件
文件管理和 MIME(多用途的網際郵件擴充協議)類型檢測。
imghdr – (Python 標准庫)檢測圖片類型。
mimetypes – (Python 標准庫)將文件名映射為 MIME 類型。
path.py – 對 os.path 進行封裝的模塊。
pathlib – (Python3.4+ 標准庫)跨平台的、面向對象的路徑操作庫。
python-magic- 文件類型檢測的第三方庫 libmagic 的 Python 介面。
Unipath- 用面向對象的方式操作文件和目錄
watchdog – 管理文件系統事件的 API 和 shell 工具
日期和時間
操作日期和時間的類庫。
arrow- 更好的 Python 日期時間操作類庫。
Chronyk – Python 3 的類庫,用於解析手寫格式的時間和日期。
dateutil – Python datetime 模塊的擴展。
delorean- 解決 Python 中有關日期處理的棘手問題的庫。
moment – 一個用來處理時間和日期的Python庫。靈感來自於Moment.js。
PyTime – 一個簡單易用的Python模塊,用於通過字元串來操作日期/時間。
pytz – 現代以及歷史版本的世界時區定義。將時區資料庫引入Python。
when.py – 提供用戶友好的函數來幫助用戶進行常用的日期和時間操作。
文本處理
用於解析和操作文本的庫。
通用
chardet – 字元編碼檢測器,兼容 Python2 和 Python3。
difflib – (Python 標准庫)幫助我們進行差異化比較。
ftfy – 讓Unicode文本更完整更連貫。
fuzzywuzzy – 模糊字元串匹配。
Levenshtein – 快速計算編輯距離以及字元串的相似度。
pangu.py – 在中日韓語字元和數字字母之間添加空格。
pyfiglet -figlet 的 Python實現。
shortuuid – 一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 轉換形式 。
uniout – 列印可讀的字元,而不是轉義的字元串。
xpinyin – 一個用於把漢字轉換為拼音的庫。
⑺ Python 常用的標准庫以及第三方庫有哪些
標准庫
Python擁有一個強大的標准庫。Python語言的核心只包含數字、字元串、列表、字典、文件等常見類型和函數,而由Python標准庫提供了系統管理、網路通信、文本處理、資料庫介面、圖形系統、XML處理等額外的功能。
Python標准庫的主要功能有:
1.文本處理,包含文本格式化、正則表達式匹配、文本差異計算與合並、Unicode支持,二進制數據處理等功能
2.文件處理,包含文件操作、創建臨時文件、文件壓縮與歸檔、操作配置文件等功能
3.操作系統功能,包含線程與進程支持、IO復用、日期與時間處理、調用系統函數、日誌(logging)等功能
4.網路通信,包含網路套接字,SSL加密通信、非同步網路通信等功能
5.網路協議,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多種網路協議,並提供了編寫網路伺服器的框架
6.W3C格式支持,包含HTML,SGML,XML的處理。
7.其它功能,包括國際化支持、數學運算、HASH、Tkinter等
Python社區提供了大量的第三方模塊,使用方式與標准庫類似。它們的功能覆蓋科學計算、Web開發、資料庫介面、圖形系統多個領域。第三方模塊可以使用Python或者C語言編寫。SWIG,SIP常用於將C語言編寫的程序庫轉化為Python模塊。Boost C++ Libraries包含了一組函式庫,Boost.Python,使得以Python或C++編寫的程式能互相調用。Python常被用做其他語言與工具之間的「膠水」語言。
著名第三方庫
1.Web框架
Django: 開源Web開發框架,它鼓勵快速開發,並遵循MVC設計,開發周期短。
ActiveGrid: 企業級的Web2.0解決方案。
Karrigell: 簡單的Web框架,自身包含了Web服務,py腳本引擎和純python的資料庫PyDBLite。
Tornado: 一個輕量級的Web框架,內置非阻塞式伺服器,而且速度相當快
webpy: 一個小巧靈活的Web框架,雖然簡單但是功能強大。
CherryPy: 基於Python的Web應用程序開發框架。
Pylons: 基於Python的一個極其高效和可靠的Web開發框架。
Zope: 開源的Web應用伺服器。
TurboGears: 基於Python的MVC風格的Web應用程序框架。
Twisted: 流行的網路編程庫,大型Web框架。
Quixote: Web開發框架。
2.科學計算
Matplotlib: 用Python實現的類matlab的第三方庫,用以繪制一些高質量的數學二維圖形。
SciPy: 基於Python的matlab實現,旨在實現matlab的所有功能。
NumPy: 基於Python的科學計算第三方庫,提供了矩陣,線性代數,傅立葉變換等等的解決方案。
3.GUI
PyGtk: 基於Python的GUI程序開發GTK+庫。
PyQt: 用於Python的QT開發庫。
WxPython: Python下的GUI編程框架,與MFC的架構相似。
4.其它
BeautifulSoup: 基於Python的HTML/XML解析器,簡單易用。
PIL: 基於Python的圖像處理庫,功能強大,對圖形文件的格式支持廣泛。
PyGame: 基於Python的多媒體開發和游戲軟體開發模塊。
Py2exe: 將python腳本轉換為windows上可以獨立運行的可執行程序。
⑻ 常用的python庫有哪些
10個頂級且實用的python庫
1、Dash
Dash是比較新的軟體包,它是用純python構建數據可視化app的理想選擇,因此特別適合處理數據的任何人。Dash是Flask、Plotly.js和React.js的混合體。
2、Pygame
Pygame是SDL多媒體庫的python裝飾器,SDL是一個跨平台開發庫,旨在提供對以下內容的低級介面:音頻、鍵盤、滑鼠、游戲桿、基於OpenGL和Direct3D的圖形硬體。
Pygame具有高度的可移植性,幾乎可以在所有平台和操作系統上運行。盡管它具有完善的游戲引擎,但您也可以使用此庫直接從python腳本播放MP3文件。
3、Pillow
Pillow專門用於處理圖像,您可以使用該庫創建縮略圖,在文件格式之間轉換、旋轉、應用濾鏡、顯示圖像等等。如果您需要對許多圖像執行批量操作,這是理想的選擇。
4、Colorama
Colorama允許你在終端使用顏色,非常適合python腳本,文檔簡短而有趣,可以在Colorama PyPi頁面上找到。
5、JmesPath
在python中使用JSON非常容易,因為JSON在python字典上的映射非常好。此外,python帶有自己出色的json庫,用於解析和創建JSON。對我來說,這是它最好的功能之一,如果我需要使用JSON,可以考慮使用python。
JmesPath使python處理JSON更加容易,它允許您明確地指定如何從JSON文檔中提取元素。
6、Requests
Requests建立在世界上下載量最大的python庫urllib3上,它令Web請求變得非常簡單,功能強大且用途廣泛。
Requests可以完成您能想到的所有高級工作,比如:認證,使用cookie,執行POST、PUT、DELETE等,使用自定義證書,使用會話Session、使用代理等。
7、Simplejson
python中的本地json模塊有什麼問題?沒有!實際上,python的json是Simplejson。意思是:python採用了Simplejson的一個版本,並將其合並到每個發行版中,但是使用Simplejson具有一些優點:它適用於更多python版本、它比python隨附的版本更新頻率更高、它具有用C編寫的部分,因此非常快速。
8、Emoji
Emoji庫非常意思,但並非每個人都喜歡表情包,分析視角媒體數據時,Emoji包非常有用。
9、Python-dateutil
Python-dateutil模塊提供了對標准datetime模塊的強大擴展。我的經驗是:常規的python日期時間功能在哪裡結束,而Python-dateutil就出現了。
10、BeautifulSoup
如果您從網站上提取了一些HTML,則需要對其進行解析以獲取實際所需的內容。BeautifulSoup是一個python庫,用於從HTML和XML文件中提取數據。它提供了導航,搜索和修改解析樹的簡單方法。它非常強大,即使損壞了,也能夠處理各種HTML,這是一個非常強大的功能。
它的一些主要功能:
①BeautifulSoup會自動將傳入文檔轉換為Unicode,將傳出文檔轉換為UTF-8,您無需考慮編碼。
②BeautifulSoup位於流行的python解析器的頂部,使您可以嘗試不同的解析策略或提高靈活性。