日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

​【Python入门】Python数学math模块55个函数详解

發布時間:2025/3/8 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ​【Python入门】Python数学math模块55个函数详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python math 模塊提供了許多對浮點數的數學運算函數。主要包括以下幾個部分

  • 數論與表示函數

  • 冪函數與對數函數

  • 三角函數

  • 角度轉換

  • 雙曲函數

  • 特殊函數

  • 常量

import math print(dir(math)) [ 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh','ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log',?'log10',?'log1p',?'log2',?'modf',?'nan',?'pi',?'pow',?'radians',?'remainder',?'sin',?'sinh',?'sqrt',?'tan',?'tanh',?'tau',?'trunc'] 注意:上面的函數是不能直接訪問的,需要導入 math 模塊,通過靜態對象調用該方法。

?

數論與表示函數

ceil()

描述:向上取整數,返回?x?的上限,即大于或者等于?x?的最小整數

語法:math.ceil(x)

import math#需要導入數學模塊 math.ceil(5.1) 6 math.ceil(5.0) 5 math.ceil(5.8) 6

?

copysign()

描述:返回一個基于?x?的絕對值和?y?的符號的浮點數。在支持帶符號零的平臺上,copysign(1.0, -0.0)?返回?-1.0.

語法:math.copysign(x,?y)

math.copysign(1,-1) -1.0math.copysign(-1,-1) -1.0math.copysign(-1,1) 1.

?

fabs()

描述:返回數字的絕對值

語法:math.fabs( x )

math.fabs(-45.17) 45.17math.fabs(100) 100.0math.fabs(math.pi) 3.14159265358979

?

factorial()

描述:以一個整數返回?x?的階乘。如果?x?不是整數或為負數時則將引發?ValueError。

語法:math.factorial( x )

math.factorial(5)#1*2*3*4*5 120 math.factorial(3)#1*2*3 6

?

floor()

描述:返回?x?的向下取整,小于或等于?x?的最大整數。如果?x?不是浮點數,則委托?x.__floor__()?,它應返回?Integral?值。

語法:math.floor( x )

math.floor(1.2) 1 math.floor(1.99) 1

?

fmod()

描述:返回余數,函數?fmod()?在使用浮點數時通常是首選,而Python的 x % y 在使用整數時是首選。

語法:math.fmod(x,?y)

math.fmod(10, 3) 1.0math.fmod(8, 3) 2.0math.fmod(8.2, 3) 2.199999999999999

?

frexp()

描述:返回?x?的尾數和指數作為對``(m, e)``。?m?是一個浮點數,?e?是一個整數,正好是 x == m * 2**e 。如果?x?為零,則返回?(0.0, 0)?,否則返回?0.5 <= abs(m)?< 1 。這用于以可移植方式“分離”浮點數的內部表示。

語法:math.frexp(x)

math.frexp(32) (0.5, 6)

?

fsum()

描述:對迭代器里的每個元素進行求和操作,返回迭代中的精確浮點值。通過跟蹤多個中間部分和來避免精度損失

語法:math.fsum( x )

math.fsum((1,2,3,4)) 10.0math.fsum([1,2,3,4]) 10.0sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) 0.9999999999999999math.fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) 1

?

gcd()

描述:返回整數?a?和?b?的最大公約數。如果?a?或?b?之一非零,則?gcd(a,?b)?的值是能同時整除?a?和?b?的最大正整數。gcd(0, 0)?返回?0。

語法:math.gcd( x,y)

math.gcd(12,6) 6 math.gcd(15,25) 5

?

isclose()

描述:若?a?和?b?的值比較接近則返回 True,否則返回 False。根據給定的絕對和相對容差確定兩個值是否被認為是接近的。

語法:math.isclose(a,?b,?*,?rel_tol=1e-09,?abs_tol=0.0)

  • rel_tol?是相對容差 —— 它是?a?和?b?之間允許的最大差值,相對于?a?或?b?的較大絕對值。例如,要設置5%的容差,請傳遞 rel_tol=0.05 。默認容差為 1e-09,確保兩個值在大約9位十進制數字內相同。?rel_tol?必須大于零。

  • abs_tol?是最小絕對容差 —— 對于接近零的比較很有用。?abs_tol?必須至少為零。

如果沒有錯誤發生,結果將是:abs(a-b)?<= max(rel_tol * max(abs(a), abs(b)), abs_tol)?。

IEEE 754特殊值 NaN , inf 和?-inf 將根據IEEE規則處理。具體來說, NaN 不被認為接近任何其他值,包括 NaN 。inf 和?-inf 只被認為接近自己。

math.isclose(1.0,1.0000000000001) Truemath.isclose(1.0,1.000000001) False

?

isfinite()

描述:如果?x?既不是無窮大也不是NaN,則返回 True ,否則返回 False 。(注意?0.0?被認為?是?有限的。)

語法:math.isfinite(x)

math.isfinite(2) True math.isfinite(math.nan) False math.isfinite(math.inf) False

?

isinf()

描述:如果?x?是正或負無窮大,則返回 True ,否則返回 False 。

語法:math.isinf()

math.isinf(math.inf) True math.isinf(-math.inf) True

?

isnan()

描述:如果?x?是 NaN(不是數字),則返回 True ,否則返回 False 。

語法:math.isnan(x)

math.isnan(math.nan) True

?

ldexp()

描述:返回 x *?(2**i)?。這基本上是函數?frexp()?的反函數。

語法:math.ldexp(x,?i)

math.ldexp(5, 3) 40.05 * (2**3) 40

?

modf()

描述:返回?x?的小數和整數部分。兩個結果都帶有?x?的符號并且是浮點數。

語法:math.modf(x)

math.modf(3.71828) (0.71828, 3.0)

?

remainder()

描述:返回 IEEE 754 風格的?x?相對于?y?的余數

語法:math.remainder(x,?y)

math.remainder(14, 5) -1.0math.remainder(13, 5) -2.0math.remainder(12, 5) 2.0math.remainder(11, 5) 1

?

trunc()

描述:返回?Real?值?x?截斷為?Integral?(通常是整數)

語法:math.trunc(x)

math.trunc(3.718281828459045) 3

?

?

冪函數與對數函數

exp()

描述:返回?e?次?x?冪,其中?e?= 2.718281... 是自然對數的基數。這通常比 math.e ** x 或 pow(math.e, x)?更精確。

語法:math.exp( x )

注意:exp()是不能直接訪問的,需要導入 math 模塊,通過靜態對象調用該方法。

math.exp(1) 2.718281828459045math.exp(0) 1.0math.exp(3) 20.08553692318766

?

expm1()

描述:返回?e?的?x?次冪,減1。這里?e?是自然對數的基數。對于小浮點數?x?,?exp(x)?-?1?中的減法可能導致?significant loss of precision;?expm1()?函數提供了一種將此數量計算為全精度的方法

語法:math.expm1(x)

math.exp(1e-5) - 1 1.0000050000069649e-05math.expm1(1e-5) 1.0000050000166667e-05math.expm1(1) 1.718281828459045 math.expm1(2) 6.3890560989306

?

log()

描述:使用一個參數,返回?x?的自然對數(底為?e?)。

語法:math.log(x[,base])

參數:

  • x -- 數值表達式。

  • base -- 可選,底數,默認為 e。

math.log(math.e) 1.0math.log(20) 2.995732273553991math.log(100,10)#返回以10為底的對數 2.

?

log1p()

描述:返回?1+x?(base?e) 的自然對數。以對于接近零的?x?精確的方式計算結果。

語法:math.log1p(x)

math.log1p(1) 0.6931471805599453

?

log2()

描述:返回?x?以2為底的對數。這通常比 log(x, 2)?更準確。

語法:math.log2(x)

math.log2(8) 3.0

?

log10()

描述:返回?x?底為10的對數。這通常比 log(x, 10)?更準確。

語法:math.log10( x )

math.log10(100) 2.0 math.log10(1000) 3.0

?

pow()

描述:返回 (x的y次方) 的值。與內置的?**?運算符不同,?math.pow()?將其參數轉換為?float?類型。使用?**?或內置的?pow()?函數來計算精確的整數冪。

語法:math.pow( x, y )

math.pow( 2, 4 ) 16.0 math.pow( 10, 2 ) 100.0

?

sqrt()

描述:返回數字x的平方根。

語法:math.sqrt( x )

math.sqrt(4) 2.0math.sqrt(100) 10.0math.sqrt(7) 2.6457513110645907math.sqrt(math.pi) 1.77245385090551

?

?

三角函數

acos()

描述:以弧度為單位返回?x?的反余弦值。

語法:math.acos(x)

math.acos(.5) 1.0471975511965979

?

asin()

描述:以弧度為單位返回?x?的反正弦值。

語法:math.asin(x)

math.asin(.5) 0.5235987755982989

?

atan()

描述:以弧度為單位返回?x?的反正切值。

語法:math.atan(x)

math.atan(1) 0.7853981633974483

?

atan2()

描述:以弧度為單位返回 atan(y / x)?。結果是在?-pi 和 pi 之間。從原點到點?(x, y)?的平面矢量使該角度與正X軸成正比。?atan2()?的點的兩個輸入的符號都是已知的,因此它可以計算角度的正確象限。例如, atan(1)?和 atan2(1, 1)?都是 pi/4 ,但 atan2(-1, -1)?是?-3*pi/4 。

語法:math.atan2(y,?x)

math.atan2(1, 1) 0.7853981633974483math.pi/4 0.7853981633974483

?

cos()

描述:返回?x?弧度的余弦值。

語法:math.cos(x)

math.cos(math.pi/6) 0.8660254037844387

hypot()

描述:返回歐幾里德范數, sqrt(x*x + y*y)?。這是從原點到點?(x, y)?的向量長度。

語法:math.hypot(x,?y)

math.hypot(1, 1) 1.4142135623730951

?

sin()

描述:返回?x?弧度的正弦值。

語法:math.sin(x)

math.sin(math.pi/6) 0.49999999999999994

?

tan()

描述:返回?x?弧度的正切值。

語法:math.tan(x)

math.tan(math.pi/4) 0.9999999999999999

?

?

角度轉換

degrees()

描述:將角度?x?從弧度轉換為度數。

語法:math.degrees(x)

math.degrees(math.pi) 180.0math.degrees(3) 171.88733853924697

?

radians()

描述:將角度?x?從度數轉換為弧度。

語法:math.radians(x)

math.radians(180) 3.141592653589793

?

雙曲函數

雙曲函數?是基于雙曲線而非圓來對三角函數進行模擬。

? ? ? ? ? ? ?

acosh()

描述:返回?x?的反雙曲余弦值。

語法:math.acosh(x)

math.acosh(3) 1.762747174039086

asinh()

描述:返回?x?的反雙曲正弦值。

語法:math.asinh(x)

math.asinh(1) 0.8813735870195429

?

atanh()

描述:返回?x?的反雙曲正切值。

語法:math.atanh(x)

math.atanh(0.5) 0.5493061443340549

?

cosh()

描述:返回?x?的雙曲余弦值。

語法:math.cosh(x)

math.cosh(2) 3.7621956910836314

?

sinh()

描述:返回?x?的雙曲正弦值。

語法:math.sinh(x)

math.sinh(1) 1.1752011936438014

?

tanh()

描述:返回?x?的雙曲正切值。

語法:math.tanh(x)

math.tanh(3) 0.9950547536867305

?

特殊函數

erf()

描述:返回?x?處的?error function?。

語法:math.erf(x)

math.erf(1) 0.8427007929497149erf() 函數可用于計算傳統的統計函數,如 累積標準正態分布 def phi(x): return (1.0 + erf(x / sqrt(2.0))) / 2.0

?

erfc()

描述:返回?x?處的互補誤差函數。?互補錯誤函數?定義為 1.0?- erf(x)。它用于?x?的大值,從其中減去一個會導致?有效位數損失。

語法:math.erfc(x)

math.erfc(1) 0.1572992070502851

?

gamma()

描述:返回?x?處的?伽馬函數?值。

語法:math.gamma(x)

math.gamma(4) 6.0

?

lgamma()

描述:返回Gamma函數在?x?絕對值的自然對數。

語法:math.lgamma(x)

math.lgamma(4) 1.7917594692280554

?

?

常 ? ?量

pi

描述:圓周率。數學常數?π?= 3.141592...,精確到可用精度。

語法:math.pi

math.pi 3.141592653589793

?

e

描述:數學常數?e?= 2.718281...,精確到可用精度。

語法:math. e

math.e 2.718281828459045

?

tau

描述:數學常數?τ?= 6.283185...,精確到可用精度。Tau 是一個圓周常數,等于 2π,圓的周長與半徑之比

語法:math.tau

math.tau 6.283185307179586

?

inf

描述:浮點正無窮大。(對于負無窮大,使用?-math.inf 。)相當于``float('inf')`` 的輸出。

語法:math.inf

math.inf inf

?

nan

描述:浮點“非數字”(NaN)值。相當于 float('nan')?的輸出。

語法:math.nan

math.nan nan

?

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯AI基礎下載(pdf更新到25集)機器學習的數學基礎專輯本站qq群1003271085,加入微信群請回復“加群”獲取一折本站知識星球優惠券,復制鏈接直接打開:https://t.zsxq.com/yFQV7am喜歡文章,點個在看

總結

以上是生活随笔為你收集整理的​【Python入门】Python数学math模块55个函数详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。