數學方法
您可以從 math 模組存取有用的數學方法。下表中會提供一些方法。除非另有說明,否則所有值將作為浮點數傳回。
| 方法 | 用法 |
|---|---|
math.ceil(x) |
將 x 的上限作為浮點數傳回,即大於或等於 x 的最小整數 |
math.copysign(x, y) |
傳回帶有符號 y 的 x。copysign(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) |
傳回已截斷為 Integral 的 Real 值 x。 |
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) |
傳回 x 的 y 次冪。pow(1.0, x) 和 pow(x, 0.0) 將始終傳回 1,即使 x 為 0 或非數字時也是如此。 |
math.sqrt(x) |
傳回 x 的平方根 |
除數學函數外,還提供了一些有用的三角函數法。下表格列出了這些方法。
| 方法 | 用法 |
|---|---|
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。