Python math 模塊完全指南
一、模塊概述
math
模塊是 Python 標(biāo)準(zhǔn)庫(kù)中的數(shù)學(xué)運(yùn)算模塊,提供:
- 基礎(chǔ)數(shù)學(xué)運(yùn)算函數(shù)
- 三角函數(shù)與雙曲函數(shù)
- 數(shù)論相關(guān)函數(shù)
- 特殊數(shù)學(xué)常數(shù)
- 對(duì)數(shù)與指數(shù)計(jì)算
import math # 標(biāo)準(zhǔn)導(dǎo)入方式
二、核心功能詳解
1. 數(shù)值處理函數(shù)
?函數(shù) | ?描述 | ?示例 |
---|---|---|
ceil(x) | 向上取整 | ceil(3.2) → 4 |
floor(x) | 向下取整 | floor(3.8) → 3 |
fabs(x) | 絕對(duì)值(浮點(diǎn)型) | fabs(-5) → 5.0 |
factorial(x) | 階乘計(jì)算 | factorial(5) → 120 |
gcd(a, b) | 最大公約數(shù) | gcd(12, 18) → 6 |
fsum(iter) | 精確浮點(diǎn)求和 | fsum([0.1]*10) → 1.0 |
print(math.ceil(math.pi)) # 4 print(math.floor(math.e)) # 2 print(math.gcd(48, 18)) # 6
2. 冪與對(duì)數(shù)
?函數(shù) | ?描述 | ?數(shù)學(xué)公式 |
---|---|---|
sqrt(x) | 平方根 | √x |
pow(x, y) | x的y次冪 | x? |
exp(x) | e的x次冪 | e? |
log(x[, b]) | 對(duì)數(shù)(默認(rèn)自然對(duì)數(shù)) | log_b(x) |
print(math.sqrt(256)) # 16.0 print(math.log(100, 10)) # 2.0 print(math.exp(2)) # 7.38905609893065
3. 三角函數(shù)
?函數(shù) | ?描述 | ?輸入單位 |
---|---|---|
sin(x) | 正弦函數(shù) | 弧度 |
cos(x) | 余弦函數(shù) | 弧度 |
tan(x) | 正切函數(shù) | 弧度 |
degrees(x) | 弧度轉(zhuǎn)角度 | - |
radians(x) | 角度轉(zhuǎn)弧度 | - |
angle = math.radians(45) print(math.sin(angle)) # 0.7071067811865476 print(math.degrees(math.pi)) # 180.0
三、特殊常數(shù)與函數(shù)
1. 數(shù)學(xué)常數(shù)
?常數(shù) | ?值 | ?精度 |
---|---|---|
math.pi | π ≈ 3.141592653589793 | 15位小數(shù) |
math.e | 自然對(duì)數(shù)底 ≈ 2.718281828459045 | 15位小數(shù) |
math.tau | τ = 2π ≈ 6.283185307179586 | 15位小數(shù) |
math.inf | 正無(wú)窮大 | IEEE 754 |
math.nan | 非數(shù)值 | IEEE 754 |
2. 高級(jí)函數(shù)
?函數(shù) ? | 描述 |
---|---|
gamma(x) | Gamma函數(shù) |
erf(x) | 誤差函數(shù) |
comb(n, k) | 組合數(shù) C(n,k) |
isclose(a,b) | 浮點(diǎn)數(shù)近似相等判斷 |
print(math.comb(10,3)) # 120 (Python 3.10+) print(math.gamma(5)) # 24.0 (等效 4! ) print(math.isclose(0.1+0.2, 0.3)) # True
四、實(shí)戰(zhàn)應(yīng)用案例
1. 幾何計(jì)算
def circle_area(radius): return math.pi * radius**2 def sphere_volume(radius): return (4/3) * math.pi * radius**3
2. 概率計(jì)算
def normal_pdf(x, mu=0, sigma=1): """正態(tài)分布概率密度函數(shù)""" coeff = 1 / (sigma * math.sqrt(2*math.pi)) exponent = -0.5 * ((x - mu)/sigma)**2 return coeff * math.exp(exponent)
3. 工程計(jì)算
def compound_interest(principal, rate, years): """復(fù)利計(jì)算""" return principal * math.exp(rate * years)
五、注意事項(xiàng)
- ?輸入類(lèi)型:所有函數(shù)僅接受整數(shù)或浮點(diǎn)數(shù),不接受復(fù)數(shù)(使用
cmath
處理復(fù)數(shù)) - ?精度限制:浮點(diǎn)數(shù)計(jì)算存在精度誤差(如
math.sqrt(2)**2 ≠ 2
) - ?異常處理:
try: print(math.sqrt(-1)) except ValueError as e: print("錯(cuò)誤:", e) # 負(fù)數(shù)平方根
- 版本差異:
math.prod()
需要Python 3.8+
math.comb()
需要Python 3.10+
六、性能優(yōu)化建議
- 批量計(jì)算優(yōu)先使用
NumPy
數(shù)組 - 重復(fù)調(diào)用時(shí)緩存常數(shù)值
PI = math.pi # 避免重復(fù)查找模塊屬性
- 使用
math.fsum
替代內(nèi)置sum
進(jìn)行高精度浮點(diǎn)求和
到此這篇關(guān)于Python math 模塊完全指南的文章就介紹到這了,更多相關(guān)Python math 模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解Python中math和decimal模塊的解析與實(shí)踐
- Python內(nèi)置數(shù)學(xué)函數(shù)和math模塊使用指南
- python常用模塊(math itertools functools sys shutil)使用講解
- python數(shù)學(xué)模塊(math/decimal模塊)
- Python標(biāo)準(zhǔn)庫(kù)之Math,Random模塊使用詳解
- Python中非常實(shí)用的Math模塊函數(shù)教程詳解
- 表格梳理python內(nèi)置數(shù)學(xué)模塊math分析詳解
- python math模塊的基本使用教程
- 一看就懂得Python的math模塊
- Python中Random和Math模塊學(xué)習(xí)筆記
相關(guān)文章
python學(xué)習(xí)--使用QQ郵箱發(fā)送郵件代碼實(shí)例
這篇文章主要介紹了python使用QQ郵箱發(fā)送郵件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Python re 模塊findall() 函數(shù)返回值展現(xiàn)方式解析
這篇文章主要介紹了Python re 模塊findall() 函數(shù)返回值展現(xiàn)方式解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08python 虛擬環(huán)境的創(chuàng)建與使用方法
本文先介紹虛擬環(huán)境的基礎(chǔ)知識(shí)以及使用方法,然后再深入介紹虛擬環(huán)境背后的工作原理,需要的朋友可以參考下2021-06-06Python函數(shù)參數(shù)基礎(chǔ)介紹及示例
在聲明函數(shù)的時(shí)候,一般會(huì)根據(jù)函數(shù)所要實(shí)現(xiàn)的功能來(lái)決定函數(shù)是否需要參數(shù)。在多數(shù)情況下,我們聲明的函數(shù)都會(huì)使用到參數(shù),這篇文章主要介紹了Python函數(shù)參數(shù)2022-08-08十個(gè)簡(jiǎn)單使用的Python自動(dòng)化腳本分享
今天小編給大家分享10個(gè)Python高級(jí)腳本,幫助我們減少無(wú)謂的時(shí)間浪費(fèi),提高工作學(xué)習(xí)中的效率。文中示例代碼講解詳細(xì),需要的可以參考一下2022-05-05Python連接數(shù)據(jù)庫(kù)并批量插入包含日期記錄的操作
這篇文章主要介紹了Python連接數(shù)據(jù)庫(kù)并批量插入包含日期記錄的操作,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06Windows系統(tǒng)下安裝Python的SSH模塊教程
這篇文章主要介紹了Windows系統(tǒng)下安裝Python的SSH模塊教程,本文涵蓋了pycrypto、ecdsa、paramiko、OpenSSH、SSH等模塊的安裝,需要的朋友可以參考下2015-02-02