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 搭配使用可進行概率計算與模擬建模。

“點贊有美意,讚賞是鼓勵”