Python 庫手冊:math 常用數學函數模塊
math 模塊是 Python 自帶的數學函數庫,提供了大量的數學運算函數,特別適用於浮點數計算和科學計算,涵蓋了數學運算(如取整、取絕對值、對數等)、三角函數、冪函數與根號以及常用數學常量(如 π 和 e)等。
常見應用場景包括:
(1)科學計算、物理建模、圖形繪製。
(2)遊戲開發中的角度與座標轉換。
(3)數據分析中的對數、指數、舍入。
(4)與 random、statistics 等模塊聯合使用。
◆ ◆ ◆
核心概念
1、math 模塊主要基於 C 標準庫,計算速度快,精度高。
2、所有函數均作用於數字(特別是 float 類型),不支持列表或數組(如需支持,可使用 numpy 庫)。
3、不支持複數計算,複數數學請使用 cmath 模塊。
◆ ◆ ◆
應用舉例
例 1:求圓的面積和周長
例 2:計算三角函數值
例 3:對數與指數函數
例 4:計算兩點間距離(歐幾里得距離)
例 5:浮點數分解與重構
◆ ◆ ◆
常用函數及內置常量速覽
ceil(x)
返回不小於 x 的最小整數(向上取整)。
參數:x 爲數字
返回:整數
copysign(x, y)
返回 x 的絕對值,符號與 y 相同。
參數:兩個數字
返回:浮點數
cos(x) / sin(x) / tan(x)
分別返回餘弦、正弦、正切。
參數:x 爲弧度
返回:浮點數
degrees(x) / radians(x)
弧度轉角度 / 角度轉弧度。
參數:x 爲角度或弧度
返回:浮點數
exp(x)
返回 e 的 x 次方。
參數:x 爲浮點數
返回:浮點數
fabs(x)
返回浮點數絕對值。
與內建函數 abs() 類似,但返回值爲 float。
factorial(n)
返回 n 的階乘(n!)。
參數:非負整數 n
返回:整數
floor(x)
向下取整,返回不大於 x 的最大整數。
參數:數字
返回:整數
fmod(x, y)
返回 x 除以 y 的浮點數餘數。
與 x % y 類似,但保留符號更準確。
frexp(x)
將浮點數 x 分解爲尾數和指數 (m, e),滿足:x == m * 2**e。
返回:二元組
gcd(a, b)
返回 a 和 b 的最大公約數。
參數:整數
返回:整數
hypot(x, y)
計算直角三角形斜邊長度(√(x² + y²))。
isfinite(x) / isinf(x) / isnan(x)
分別判斷:是否爲有限數、無窮大、NaN(不是數字)。
log(x[, base])
對數函數,默認以 e 爲底,也可指定底數。
參數:x > 0,base > 0
返回:浮點數
log10(x) / log2(x)
以 10、2 爲底的對數。
modf(x)
返回小數部分和整數部分的元組(兩個 float)。
pow(x, y)
等價於 x ** y,返回 x 的 y 次冪。
sqrt(x)
返回 x 的平方根。
參數:x ≥ 0
返回:浮點數
trunc(x)
截取整數部分(丟棄小數,不四捨五入)。
內置常量
math.pi
圓周率 π ≈ 3.141592653589793
math.e
自然對數的底數 e ≈ 2.718281828459045
math.tau
圓的全圓常數 τ(tau),等於 2π ≈ 6.283185307179586
常用於單位圓、傅里葉變換等數學應用。
math.inf
正無窮大(Infinity)
可用於表示溢出值、比較極限等。
示例:math.inf > 1e1000 爲 True。
math.nan
表示“不是數字”(Not a Number)
常在非法數學運算中出現,如 0.0 / 0.0。
示例:math.isnan(math.nan) 返回 True。
◆ ◆ ◆
使用建議
1、math 模塊適用於標量浮點運算,不支持複數或數組運算。
2、處理複數可使用 cmath 模塊;大規模數值處理可使用 numpy。
3、與 random、statistics 搭配使用可進行概率計算與模擬建模。
“點贊有美意,讚賞是鼓勵”