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等。
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. Magedu分布式監控系統
一種用Python開發的自動化監控系統,可監控常用系統服務、應用、網絡設備,可在一臺主機上監控多個不同服務,不同服務的監控間隔可以不同,同一個服務在不同主機上的監控間隔、報警閾值可以不同,并提供數據可視化界面。
22. Magedu的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自學網。
一、以下函數是turtle海龜庫內關于海龜的狀態函數
1、position()或 pos()獲取海龜的當前位置坐標
無參數
2、towards(x,y)與參考點的夾角
參數:x,y坐標值,為towards測量夾角做參考
3、xcor()返回當前點的x坐標
無參數
4、ycor()返回當前點的y坐標
無參數
5、heading()返回海龜當前方位與(0,0)點(既原點)的夾角
無參數
6、distance(x,y)測量與參考坐標點之間的長度
參數(x,y)為參考坐標點
二、以下是設置單位的兩個函數
1、degrees(fullcircle)設置圓或圓弧以角度為單位,默認360度。
參數:fullcircle 設置圓周多少度,默認圓一周360度
2、radians()設置圓或圓弧單位為弧度
無參數
標準庫比較多 功能也不同:
標準庫
sys
系統相關的參數和函數。 sys 庫一般用來訪問和修改系統相關信息,比如查看 python 版本、系統環境變量、模塊信息和 python 解釋器相關信息等等。
os
操作系統接口模塊。這個庫提供了訪問操作系統相關依賴的方式,比如輸入輸出操作、讀寫操作、操作系統異常錯誤信息、進程線程管理、文件管理、調度程序等等。
re
正則表達式操作。這個庫是我喜歡并且經常會用到的庫,在對大量字符串進行處理的時候用正則表達式是最快速有效的方式,但是正則表達式的學習曲線較高,有興趣的朋友可以訪問這個網站學習。
math
數學函數庫。 math 庫提供了對 C 語言標準定義的數學函數訪問,比如數論(Number-theoretic)的各種表示方法、冪和對數函數(Power and logarithmic functions)、三角函數(Trigonometric functions)、常量圓周率(π)和自然常數(e)等等。
random
生成偽隨機數。
偽隨機數與隨機數(真隨機數)不同的是執行環境,隨機數是真實世界中通過物理過程實踐得出結論,而偽隨機數是通過計算機的特定算法生成的數,所以這個過程是可預測的、有規律的,只是循環周期較長,并不能與現實場景相切合。
random庫提供生成隨機數,可以模擬現實世界中隨機取數、隨機抽獎等等。
logging
日志記錄工具。這個庫提供了對應用程序和庫函數的日志記錄,日常開發中我們經常需要通過日志打印出當前程序的運行狀態,實時查看可能出現的堆棧異常和錯誤信息。
json
Json 編碼和解碼器。 json 庫提供了對 json 數據的支持,日常開發中我們做前后端分離需要對傳輸數據 json 進行序列化和反序列化操作,以保證對數據的完整性和有效性,而序列化和反序列化其實就是編碼和解碼的過程。
pickle
Python 對象序列化庫。 pickle 庫支持對 python 對象進行序列化和反序列化操作,當我們需要將處理好的對象保存到文件或數據庫中時,就可以將其序列化成二進制數據,從而更好的保存起來。
shelve
Python 對象持久化。簡單的數據存儲方案。
socket
底層網絡接口。 socket(套接字) 庫提供了標準的BSD(伯克利套接字) Socket API,可以通過訪問底層操作系統 Socket 的相關接口進行網絡通訊。
datetime
基本日期和時間類型庫。該庫提供了各種簡單和復雜的方式處理日期和時間,日常我們會用時間測算時間消耗、復雜度,對存儲的創建時間和修改時間也需要進一步說明,對計時器的描述和控制也需要用到該庫。
hashlib
安全哈希和消息摘要。摘要算法 其實就是對某些數據進行加密(不可逆的加密算法),因為被加密的數據無法破解,所以就能防止被篡改。常見的摘要算法有 MD5、SHA1,一般我們會用 MD5 對用戶口令進行加密,防止盜用后被輕易破解;而 SHA1 與 MD5 類似,但是 SHA1 會產生更長的長度,也更安全,但是算法的復雜性通常伴隨著存儲空間和時間的消耗。要說比SHA1更長的字符長度,還有 SHA224、SHA256、SHA384 和 SHA512,看名字就能知道。
大家都知道無論算法生成的字符長度如何都有可能發生碰撞(被破解),這是不可避免的,所以具體場景具體情況而定。
configparser
配置文件解析器。 configparser 庫可以輕松定制配置文件,通過解析配置文件的信息我們就可以全局訪問相關配置。
urllib
URL 處理模塊。 urllib 庫集成了處理 URLs(統一資源定位符)的各種模塊:
URL urllib.request URL robots.txt urllib 庫對訪問網絡有很好的支持,提供了對數據的訪問和處理、文件的上傳和下載、記錄 cookie 和 session 等等。
itertools
為高效循環而創建迭代器的函數。 itertools 庫也是經常需要用到,當我們要對某些數進行 for-in 時就需要先將其處理成一個可迭代對象,之后我們才能進行遍歷操作。
collections
容器數據類型庫。 collections 庫提供了對所有容器數據類型的支持,包括 dict, list, set 和 tuple。我們可以用此庫對不同數據類型進行操作,常有的函數方法有這些:
namedtuple() 創建命名元組子類的工廠函數 deque 類似列表(list)的容器,實現了在兩端快速添加(append)和彈出(pop) ChainMap 類似字典(dict)的容器類,將多個映射集合到一個視圖里面 Counter 字典的子類,提供了可哈希對象的計數功能 OrderedDict 字典的子類,保存了他們被添加的順序 defaultdict 字典的子類,提供了一個工廠函數,為字典查詢提供一個默認值 UserDict 封裝了字典對象,簡化了字典子類化 UserList 封裝了列表對象,簡化了列表子類化 UserString 封裝了列表對象,簡化了字符串子類化 functools
高階函數和可調用對象上的操作。該庫主要調用高階函數,是常規函數的一種補充。目前庫中包含以下幾種函數:
cmp_to_key lru_cache total_ordering partial partialmethod reduce singledispatch update_wrapper wraps threading
線程并行庫。 threading 庫支持線程和多線程的操作,針對多線程并發的問題可以給數據加同步鎖,一次只能讓一個線程處理數據,從而避免出現數據讀寫混亂。
在 CPython 解釋器上,因為GIL(全局解釋器鎖)鎖機制的存在的,被設計成線程安全,所以同一時間只能執行一個線程,這就導致了多線程不能發揮出計算機的多核特性。
multiprocessing
進程并行庫。 multiprocessing 庫與 threading 庫很類似,不同的是進程庫可以創建子進程避開 GIL,從而彌補線程庫存在的劣勢和發揮計算機的多核特性。
timeit
測量小代碼片段的執行時間。此庫主要用來計算運行代碼的時間消耗,支持多種方式傳入參數。
atexit
退出處理器。當處理一個函數需要立馬退出時可以使用該庫。
abc
抽象基類。 abc 庫定義抽象基類,以便其他類派生出新類。比如 collections 容器庫中就有此派生出的 collections.abc 類,派生出來的類可以進一步實現。
asyncio
異步IO庫。 asyncio 庫是一個用 async/await 關鍵字編寫并發的庫,為多個異步框架提供基礎功能,能夠實現高性能的網絡、Web服務器、數據庫連接和分布式任務隊列等。
copy
淺層和深層復制操作。 copy 庫提供對對象的拷貝,我們都知道要制作對象副本,是無法通過簡單值傳遞創建新變量的方式做到,因為新變量所指向的內存空間依舊是原對象本身,所以對新變量進行任何操作都會改變原對象。那么, copy 庫就提供了制作對象副本的各種方法,會開辟一個新的內存空間存放副本對象,修改操作不會對原對象有任何干預。
csv
csv(Comma Separated Values)文件讀寫庫。此庫支持以純文本的形式存儲表格數據(數字和文本)。
operator
標準運算符替代函數庫。此庫是將 python 自有的運算符作為有效函數,比如表達式 x+y 可以用函數 operator.add(x, y) 表示;比如表達式 a*b 可以用函數 operator.mul(a, b) 表示,等等。
enum
枚舉庫。 enum 庫支持創建枚舉類來存儲大量同類型的不可變常量,以便其他函數調用。創建出來的枚舉類是可迭代對象,所以可以用 for-in 枚舉出所有常量。
heapq
堆隊列算法。這個模塊提供了堆隊列算法的實現,也稱為優先隊列算法。優先隊列中的每個元素都有各自的優先級,優先級最高的元素最先得到服務。所以當我們要求前n最大/最小值的時候就可以用此算法來實現, heapq 庫中也提供了相應函數實現。
http
HTTP 模塊。 http 模塊是一個包,收集了多個處理超文本傳輸協議的模塊:
urllib.request http 模塊通過 http.HTTPStatus 枚舉定義了HTTP狀態碼 以及相關聯消息。
profile、pstats
性能分析工具。 profile 模塊提供了 profile 和 cProfile 兩種不同實現的性能分析工具,可用來描述程序各個部分的執行時間和頻率,統計后的信息可以通過 pstats 模塊保存并使用。
ssl
TLS/SSL(傳輸安全協議)。此模塊提供對安全協議的支持,通過應用上下文,可將 TLS(傳輸層安全性協議)或其前身 SSL(安全套接層)支持安全協議,能為互聯網通信提供安全和數據完整性保障。一般 HTTPS 協議都支持 TLS/SSL 加密。
unitest
單元測試框架。 unitest 庫常用于單元測試,受到 JUnit 和其他主流測試庫的啟發, unitest 庫的功能和函數與它們有著相似的風格。
uuid
UUID庫。 uuid 庫主要用途是生成隨機字符串,庫中有多個版本的 UUID 對象方法,比如版本 1、3、4 和 5 的 uuid1() 、 uuid3() 、 uuid4() 和 uuid5() 。需要注意的是,如果要生成隨機字符串,可以使用 uuid1() 和 uuid4() ,但是 uuid1() 會存在隱私風險,因為生成的原理里邊包含用戶訪問計算機的網絡地址,而 uuid4() 是通過隨機字符生成。
希望可以幫助到你。
1.dir函數式可以查看對象的屬性
使用方法很簡單,舉os類型為例,在Python命令窗口輸入?dir(‘os’)?即可查看os模塊的屬性
打開cmd命令窗口:
2.如何查看對象某個屬性的幫助文檔:兩種方法如下:
3.如何查看某個對象的詳細:
3.如何查看某個對象的函數:
python系統提供了下面常用的函數:
1. 數學庫模塊(math)提供了很多數學運算函數;
2.復數模塊(cmath)提供了用于復數運算的函數;
3.隨機數模塊(random)提供了用來生成隨機數的函數;
4.時間(time)和日歷(calendar)模塊提供了能處理日期和時間的函數。
注意:在調用系統函數之前,先要使用import 語句導入 相應的模塊
該語句將模塊中定義的函數代碼復制到自己的程 序中,然后就可以訪問模塊中的任何函數,其方 法是在函數名前面加上“模塊名.”。
希望能幫到你。
名稱欄目:python的所有庫函數 python函數庫的方法大全
轉載來于:http://vcdvsql.cn/article18/hpgigp.html
成都網站建設公司_創新互聯,為您提供軟件開發、域名注冊、網站維護、微信小程序、網站排名、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯