轉自:https://blog.csdn.net/zhtysw/article/details/79856835html
math模塊中定義了一些數學函數。因爲這個模塊屬於編譯系統自帶,所以它能夠被無條件調用。該模塊還提供了與用標準C定義的數學函數的接口。編程
要注意的是,這些函數沒法應用於複數,可是在cmath模塊中定義的同名函數能夠支持複數運算,固然也會爲此付出必定的性能代價。爲何會設置同名的函數卻會有是否支持複數的區別,這是由於大多數用戶徹底不須要複數方面的操做,所以對於他們來說,理解函數就會有沒必要要的麻煩。接受一個例外而不是一個複數結果使得參數被設置爲複數這個意外更加容易被察覺,那麼編程者就能夠再次確認如下爲何要定義並在這裏產生它。函數
如下的函數是該模塊所提供的。除非明確指出,不然全部返回值都是浮點數。性能
1. 數論函數和表示函數spa
math. ceil(x).net
返回x的最大值,這個最大值是大於或等於x的最小整數。若是x不是浮點數的話,將使用x.__ceil__()替代返回一個整數值。htm
math. copysign(x, y)對象
返回一個浮點數,該浮點數的絕對值與x相同,正負性與y相同。若是運行平臺支持帶符號的零,copysign(1.0, -0.0)將會返回-1.0.blog
math. factorial(x)接口
返回x的絕對值。
math. factorial(x)
返回x的階乘值。若是x不是整數或者爲負數,拋出ValueError。
math. floor(x)
返回x的最小值,該最小值爲小於等於x的最大整數。
math. fmod(x, y)
按照平臺C庫的定義返回fmod(x,y)。請注意,Python表達式x%y可能不會返回相同的結果。標準C的意圖是對於某個整數n,fmod(x,y)徹底(在數學上達到無限精度)等於x-n * y,使得結果的符號與x相同,幅度小於abs(Y)。Python的x%y返回一個帶有y的符號的結果,而且對於float參數可能不是徹底可計算的。例如,fmod(-1e-100,1e100)是-1e-100,可是Python的-1e-100%1e100的結果是1e100-1e-100,它不能徹底表示爲浮點數,而且使人驚訝1e100。出於這個緣由,函數fmod()在使用浮點數時一般是首選,而在使用整數時,Python的x%y是首選。
math. frexp(x)
以(m, e)數對的形式返回x的尾數和指數。m是一個浮點數,而e是一個整數,其相似於x == m*2**e。若是x是0,返回(0.0, 0);不然,0.5<=abs(m)<1。該函數使得分解浮點數的內部表達形式變得簡單高效。
math.fsum(iterable)
將可迭代對象iterable內的元素值精確地相加在一塊兒,返回一個浮點數形式的和。該函數能夠有效避免浮點數求和時的精度損失。
>>>sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])
0.9999999999999999
>>>fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1])
1.0
math. gcd(a,b)
返回整數a與b的最大公約數。若是a與b都爲非零值,該函數的返回值是能夠同時整除a與b的最大正整數。gcd(0, 0)的值爲0。
math. isclose(a, b, *,rel_tol=1e-09, abs=0.0)
若是a與b彼此相近的程度知足rel_tol(相對精度,按比例算,以a與b絕對值較大的爲標準1)與abs_tol(絕對精度,按數值差算)規定的精度(那個允許的範圍大,以哪一個爲評判標準),那麼返回True;不然返回False。
math. isfinite(x)
若是x不是無窮數或NaN,返回True。
math. isinf(x)
若是x是正無窮或負無窮,返回True。
math. isnan(x)
若是x是NaN,返回True。
math. ldexp(x, i)
返回x*(2**i)的值。
math. modf(x)
返回x的小數部分和整數部分。兩個值都爲浮點數格式,且帶有x的符號。
math. trunc(x)
將實數x截斷爲一個Integral格式的數(一般爲整數格式)。
2.冪函數和對數函數
math. exp(x)
返回e**x
math. expml(x)
返回e**x – 1。該函數對小浮點數x提供了良好的精度參照。
math. log(x[, base])
base若爲給出,求以e爲底的x的對數;base給出,則以base爲底。
math. logl[(x)
返回以e爲底1+x的對數,該函數對於近似於0的x值有較高精度。
math. log2(x)
返回以2爲底的x的對數。
math. log10(x)
返回以10爲底x的對數。
math. pow(x, y)
返回x**y的值。
math. sqrt(x)
返回x的平方根。
3.三角函數
math. acos(x)
返回x的反餘弦值,以弧度形式,下面也相同。
math. asin(x)
返回x的反正弦值。
math. atan(x)
返回x的反正切值。
math. atan2(y, x)
返回atan(y/x),結果在[-pi,pi]以內。
math. cos(x)
返回x弧度的餘弦值。
math. hypot(x, y)
返回點(x, y)到原點的距離。
math. sin(x)
返回x弧度的正弦值。
math. tan(x)
返回x弧度的正切值。
4.角度轉換
math. degrees(x)
將弧度值x轉化爲角度值。
math. radians(x)
將角度值x轉化爲弧度值。
5. 雙曲函數
雙曲函數是基於圓的三角函數在雙曲線上的類比。
math. acosh(x)
返回x的反雙曲餘弦值。
math. asinh(x)
返回x的反雙曲正弦值。
math. atanh(x)
返回x的反雙曲正切值。
math. cosh(x)
返回x的雙曲餘弦值。
math. sinh(x)
返回x的雙曲正弦值。
math. tanh(x)
返回x的雙曲正切值。
6. 特殊函數
math. erf(x)
返回x處的error函數。其可用於計算傳通通計函數。
math. erfc(x)
返回x處的補充錯誤函數.
math. gamma(x)
返回x處的Gamma函數。
math. lgamma(x)
返回x處Gamma函數絕對值的天然對數。
7. 常量
math. pi
pi即爲圓周率常量。
math. e
e即爲天然底數,e=2.718281…
math. tau
數字常量T = 6.283185…
math. inf
浮點格式的正無窮。
math. nan
浮點格式的非數字值。