該模塊提供了由C語言標準定義的數學函數。
還有一個模塊叫cmath,其中定義的方法和屬性與math模塊基本相同,只是cmath適用於複數(complex)。
常用屬性
名稱 |
值 |
math.pi |
3.141592653589793 |
math.e |
2.718281828459045 |
math.inf |
inf |
math.nan |
nan |
math.tau |
6.283185307179586 |
*注:*對於無窮數除了用math.inf,還可以用float(‘inf’)表示正無窮;-float(‘inf’)或float(’-inf’)表示負無窮。
常用方法
三角函數
三角函數返回結果爲弧度值。
名稱 |
含義 |
math.acos(x) |
反餘弦 |
math.acosh(x) |
反雙曲餘弦 |
math.asin(x) |
反正弦 |
math.asinh(x) |
反雙曲餘弦 |
math.atan(x) |
反正切 |
math.atan2(x,y) |
x/y的反正切,與atan(y/x)不同,x和y的符號均被考慮 |
math.atanh(x) |
反雙曲正切 |
math.cos(x) |
餘弦 |
math.cosh(x) |
雙曲餘弦 |
math.sin(x) |
正弦 |
math.sinh(x) |
雙曲正弦 |
math.tan(x) |
正切 |
math.tanh(x) |
雙曲正切 |
math.degrees(x) |
將弧度值轉爲角度值 |
math.radians(x) |
將角度值轉爲弧度值 |
取整、取小數的函數
名稱 |
含義 |
math.ceil(x) |
返回不小於x的整數,即:向上取整 |
math.floor(x) |
返回不大於x的整數,即:向下取整 |
math.trunc(x) |
返回整數部分,和int等效 |
math.modf(x) |
返回小數和整數部分,都爲浮點數,都帶x的符號 |
指數、對數函數
名稱 |
含義 |
math.exp(x) |
以e爲底的指數 |
math.expm1(x) |
以e爲底的指數後減1,對x較小的情況進行精確計算 |
math.log(x[, base]) |
返回底爲base的對數,默認爲e |
math.log10(x) |
底爲10的對數 |
math.log2(x) |
底爲2的對數 |
math.log1p(x) |
返回1+x的自然對數(底爲e),對x接近零的結果進行精確計算 |
判斷函數
名稱 |
含義 |
math.isfinite(x) |
判斷x是否有限(非inf,非nan) |
math.isinf(x) |
判斷x是否是無窮 |
math.isnan(x) |
判斷x是否是NaN(Not a Number) |
math. isclose(a,b, rel_tol=1e-09, abs_tol=0.0) |
判斷兩個浮點數值是否接近。rel_tol表示最大相對差異,abs_tol表示最大絕對差異。*注:*nan和誰都不接近;inf只和自己接近 |
其他函數
名稱 |
含義 |
math.fabs(x) |
絕對值 |
math.gcd(x,y) |
x和y的最大公約數 |
math.sqrt(x) |
平方根 |
math.factorial(x) |
x的階乘,若x負數或小數,則報錯 |
math.hypot(x,y) |
歐氏距離,即:sqrt(x*x + y*y) |
math.pow(x,y) |
x的y次方 |
math.fmod(x,y) |
x對y取餘,根據C平臺計算,結果可能與x%y不同 |
math.fsum(iterable) |
返回浮點數之和的精確值 |
math.ldexp(x,i) |
x * (2**i) |
math.frexp(x) |
ldexp的反函數,返回x的尾數和指數 |
math.gamma(x) |
x處的Gamma函數 |
math.lgamma(x) |
x處Gamma函數的絕對值的自然對數 |
math.erf(x) |
x處的誤差函數 |