Python的標准庫介紹與常用的第三方庫
Python的標准庫:
datetime:為日期和時間的處理提供了簡單和復雜的方法。
zlib:以下模塊直接支持通用的數據打包和壓縮格式:zlib,gzip,bz2,zipfile和 tarfile。
random:提供了生成隨機數的工具。
math:為浮點運算提供了對底層C函數庫的訪問。
sys:工具腳本經常調用的命令行參數。這些命令行參數以鏈表形式存儲於 sys 模塊的 argv 變量。
glob:提供了一個函數,用於從目錄通配符搜索中生成文件列表。
os:提供了許多與操作系統相關聯的函數。
re:為高級字符串處理提供了正則表達式工具。
這里以math庫和random庫為例進行詳細介紹:
math庫中常用的數學函數:
圓周率pi:∏的近似值,15位小數。
自然數e:e的近似值,15位小數。
ceil(x):對浮點數向上取整。
floor(x):對浮點數向下取整。
pow(x,y):計算x的y次方。
log(x):以e為基的對數。
log10(x):以10為基的對數。
sqrt(x):平方根。
exp(x):e的x次冪。
degrees(x):將弧度值轉換成角度。
radians(x) :將角度值轉換位弧度值。
sin(x):正弦函數。
cos(x):余弦函數。
tan(x):正切函數。
asin(x):反正弦函數。
acos(x):反余弦函數。
atan(x):反正切函數。
import math print(math.pi) print(math.e) print(math.ceil(4.25)) print(math.floor(2.78)) print(math.pow(2,3)) print(math.log(math.e)) print(math.log10(5)) print(math.sqrt(9)) print(math.exp(2)) print(math.degrees(3)) print(math.radians(180)) print(math.sin(30)) print(math.cos(45)) print(math.tan(60)) print(math.asin(0.5)) print(math.acos(0.3)) print(math.atan(1.5))
運行結果:
random庫中常用的函數:
seed(x):給隨機數一個種子值seed(x),如果使用相同的seed(x)(即相同的種子值),則每次生成的隨機數相同,如果不設置seed()值,則默認隨機種子是系統時鍾,系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同。也可以說,seed的作用是讓隨機結果可重現。
random():生成一個[0,1.0)之間的隨機小數。
uniform(a,b):生成一個a到b之間的隨機小數。
randint(a,b):生成一個a到b之間的隨機整數。
randrange(a,b,c):隨機生成一個從a到b以c遞增的數。
choice(< lsit >):從列表中隨機返回一個元素。
shuffle(< list > ):將列表中的元素隨機打亂。
sample(< list >, k):從指定列表隨機獲取k個元素。
import random #設置種子seed #生成同一個隨機數 random.seed(5) print(random.random()) random.seed(5) print(random.random()) random.seed(5) print(random.random()) print() print(random.random()) print(random.uniform(1,5)) print(random.randint(2,10)) print(random.randrange(1,9,2)) ls=[1,3,5,7,9] print(random.choice(ls)) random.shuffle(ls) print(ls) print(random.sample(ls,3))
運行結果:
使用math庫和random庫計算一個圓錐的體積:
import math import random r=random.randint(1,5) h=random.uniform(1,10) v=math.pi*(r**2)*h/3 print('r=',r) print('h=',h) print('v=',v)
運行結果:
Python常用的第三方庫:
Scrapy:爬蟲工具常用庫。
Requests:http庫。
Pillow:是PIL(Python圖形庫)的一個分支。適用於圖形領域。
matplotlib:用於繪制數據圖。適用於數據分析。
OpenCV:圖片識別,常用於練習人臉識別。
pytesseract:圖片文字識別,即OCR識別 。
wxPython:Python的一個GUI(圖形用戶界面)工具。
Twisted:對於網絡應用開發者最重要的工具。
SymPy:可用於代數評測、差異化、擴展、復數等。
SQLAlchemy:數據庫相關的庫。
SciPy:Python的算法和數學工具庫。
Scapy:數據包探測和分析庫。
pywin32:提供了與windows交互的方法和類的Python庫。
pyQT:Python的一個GUI工具。不過Python腳本開發用戶界面時一般優先選擇wxPython。
pyGtk:Python 的一個GUI庫。
Pyglet:用於3D動畫和游戲開發引擎。
Pygame:開發2D游戲時使用效果較好。
NumPy:為Python提供了很多高級的數學方法。
nose Python:Python的測試框架。
nltk:自然語言工具包。
IPython:Python的提示信息。包括完成信息、歷史信息、shell功能等。
BeautifulSoup xml和html的解析庫,適用於新手學習。
參考資料:
https://www.runoob.com/python3/python3-stdlib.html