數學方法

您可以從 math 模組存取有用的數學方法。下表中會提供一些方法。除非另有說明,否則所有值將作為浮點數傳回。

表 1. 數學方法
方法 用法
math.ceil(x) x 的上限作為浮點數傳回,即大於或等於 x 的最小整數
math.copysign(x, y) 傳回帶有符號 yxcopysign(1, -0.0) 將傳回 -1
math.fabs(x) 傳回 x 的絕對值
math.factorial(x) 傳回 x 階乘。如果 x 是負數或非整數,那麼將發生 ValueError
math.floor(x) x 的下限作為浮點數傳回,即小於或等於 x 的最大整數
math.frexp(x) x 的尾數 (m) 和指數 (e) 作為 (m, e) 對傳回。m 是浮點數,e 是整數,這樣剛好滿足 x == m * 2**e。如果 x 為 0,那麼此方法將傳回 (0.0, 0),否則將傳回 0.5 <= abs(m) < 1
math.fsum(iterable) 傳回 iterable 中值的精確浮點總和
math.isinf(x) 檢查浮點數 x 是正不定式還是負不定式
math.isnan(x) 檢查浮點數 x 是否為 NaN(非數字)
math.ldexp(x, i) 傳回 x * (2**i)。此方法本質上是函數 frexp 的反函數。
math.modf(x) 傳回 x 的小數和整數部分。這兩個結果都帶有 x 的符號,並且都是浮點數。
math.trunc(x) 傳回已截斷為 IntegralRealx
math.exp(x) 傳回 e**x
math.log(x[, base]) 傳回以給定值 base 為底的 x 的對數。如果未指定 base,那麼將傳回 x 的自然對數。
math.log1p(x) 傳回 1+x (base e) 的自然對數
math.log10(x) 傳回以 10 為底的 x 的對數
math.pow(x, y) 傳回 xy 次冪。pow(1.0, x)pow(x, 0.0) 將始終傳回 1,即使 x 為 0 或非數字時也是如此。
math.sqrt(x) 傳回 x 的平方根

除數學函數外,還提供了一些有用的三角函數法。下表格列出了這些方法。

表 2. 三角方法
方法 用法
math.acos(x) 傳回以弧度表示的 x 的反餘弦
math.asin(x) 傳回以弧度表示的 x 的反正弦
math.atan(x) 傳回以弧度表示的 x 的反正切
math.atan2(y, x) 傳回以弧度表示的 atan(y / x)
math.cos(x) 傳回以弧度表示的 x 的餘弦。
math.hypot(x, y) 傳回歐幾里得範數 sqrt(x*x + y*y)。這是從原點到點 (x, y) 的向量的長度。
math.sin(x) 傳回以弧度表示的 x 的正弦
math.tan(x) 傳回以弧度表示的 x 的正切
math.degrees(x) 將角度 x 從弧度轉換為度
math.radians(x) 將角度 x 從度轉換為弧度
math.acosh(x) 傳回 x 的反雙曲餘弦值
math.asinh(x) 傳回 x 的反雙曲正弦值
math.atanh(x) 傳回 x 的反雙曲線正切值
math.cosh(x) 傳回 x 的雙曲餘弦值
math.sinh(x) 傳回 x 的雙曲餘弦值
math.tanh(x) 傳回 x 的雙曲線正切值

還有兩個數學常數。math.pi 的值為數學常數 pi。math.e 的值為數學常數 e。