Python數學math模組55個函式詳解

文章推薦指數: 80 %
投票人數:10人

描述: 返回 x 處的 error function 。

語法:math.erf(x). math.erf(1). 0.8427007929497149. MdEditor ​Python數學math模組55個函式詳解 語言:CN/TW/HK 時間 2020-05-1717:35:37 簡說Python 主題: Python 數學 文章來源: AI入門學習 作者: 小伍哥 Pythonmath模組提供了許多對浮點數的數學運算函式。

主要包括以下幾個部分 數論與表示函式 冪函式與對數函式 三角函式 角度轉換 雙曲函式 特殊函式 常量 importmathprint(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) importmath#需要匯入數學模組math.ceil(5.1)6math.ceil(5.0)5math.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*5120math.factorial(3)#1*2*36 floor() 描述: 返回 x 的向下取整,小於或等於 x 的最大整數。

如果 x 不是浮點數,則委託 x.__floor__() ,它應返回  Integral  值。

語法:math . floor ( x ) math.floor(1.2)1math.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)6math.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) 。

IEEE754特殊值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)Truemath.isfinite(math.nan)Falsemath.isfinite(math.inf)False isinf() 描述:如果 x 是正或負無窮大,則返回True,否則返回False。

語法:math.isinf() math.isinf(math.inf)Truemath.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() 描述:返回IEEE754風格的 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 中的減法可能導致  significantlossofprecision ;  expm1()  函式提供了一種將此數量計算為全精度的方法 語法:math.expm1(x) math.exp(1e-5)-11.0000050000069649e-05math.expm1(1e-5)1.0000050000166667e-05math.expm1(1)1.718281828459045math.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.0math.log10(1000)3.0 pow() 描述: 返回(x的y次方)的值。

與內建的 ** 運算子不同,  math.pow()  將其引數轉換為  float  型別。

使用 ** 或內建的  pow()  函式來計算精確的整數冪。

語法:math . pow ( x , y ) math.pow(2,4)16.0math.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/40.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 處的  errorfunction  。

語法:math.erf(x) math.erf(1)0.8427007929497149erf()函式可用於計算傳統的統計函式,如累積標準正態分佈defphi(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.pi3.141592653589793 e 描述:數學常數 e =2.718281...,精確到可用精度。

語法:math.e math.e2.718281828459045 tau 描述:數學常數 τ =6.283185...,精確到可用精度。

Tau是一個圓周常數,等於2π ,圓的周長與半徑之比 語法:math.tau math.tau6.283185307179586 inf 描述:浮點正無窮大。

(對於負無窮大,使用 -math.inf。

)相當於``float('inf')``的輸出。

語法:math.inf math.infinf nan 描述:浮點“非數字”(NaN)值。

相當於float('nan') 的輸出。

語法:math.nan math.nannan 如果你覺得文章不錯的話,分享、收藏、在看、留言666是對老表的最大支援。

老表Pro已經滿了 所以大家加老表Max吧 每日 留言 說說你最近遇到的一個程式設計問題 ? 或者新學的一個小技巧? (字數不少於15字) 留言 贈書 完整Python基礎知識要點 Python小知識 | 這些技能你不會?(一) Python小知識 | 這些技能你不會?(二) Python小知識 | 這些技能你不會?(三) Python小知識 | 這些技能你不會?(四) 近期推薦閱讀: 【1】整理了我開始分享學習筆記到現在超過250篇優質文章,涵蓋資料分析、爬蟲、機器學習等方面,別再說不知道該從哪開始,實戰哪裡找了 【2】【終篇】Pandas中文官方文件:基礎用法6(含1-5) 好文章,我 在看 :heart: 「其他文章」 用Pandas分析了75w多條資料,揭祕美國選民的總統喜好 PythonSQL萬字案例:使用者行為資料分析實戰! 如何用Python分析資料? 用Python擼一個Web伺服器-第4章:動態渲染資料 一道快手的演算法面試題,沒想到對數學要求還蠻高的! 一款高顏值的詞雲包讓我拍案叫絕 一道簡簡單單的位元組跳動演算法面試題 帶你學MySQL系列|碰到奇怪的null值,該怎麼辦呢?看看我的總結! GitHub標星20K:WhatthefuckPython?! Python快速搭建HTTP服務 用python悄悄記錄了室友的抖音線上時間 NumPy進階修煉|矩陣操作20題 5年Python功力,總結了10個開發技巧 使用者活躍、留存、流失,終於講清楚了! Python爬蟲之requestbeautifulsoupmysql Linux|如何重複執行一條命令直至執行成功? Python之MySQL實戰 難倒80%資料分析師的面試題!看 一日一技:Sql的執行順序是怎樣的? ​Python數學math模組55個函式詳解 「Python」 Python視覺化|Python視覺化進階必備-plotly 手把手教你擼一個Web匯率計算器 一文教會你如何用Python分割合併大檔案 【資料結構實踐】從0到1帶你利用Python實現自定義集合 解決NGINXLDAP參考實施中的安全問題 SCA在得物DevSecOps平臺上應用​ Python自學教程3-英語不好,變數怎麼命名 Python自學教程2:大牛們怎麼寫註釋 如何通過puppetter實現PDF聚合閱讀器初始模型以及產品思維構想 12個Python自動化辦公的官方文件,中文版只有2個? 「數學」 DAO的社會政治史:從Cypherpunks到Web3 卷積神經網路數學原理解析 x²-dy²=-1有多少整數解?近30年無人解開的數學難題有答案了 壓縮ViT模型的新解法!微軟提出蒸餾變換的權重複用壓縮方法MiniViT 躲不開資訊操縱,是人類的大腦過時了嗎? 從「利奧塔」窺見加密敘事 2022年狄拉克獎揭曉!他們為理解物理系統提供數學工具 PNAS最新研究:81%解題率,神經網路Codex推開高等數學世界大門 北大教授:奧數優勝者為什麼不一定能成為數學家? 鄂維南院士:AIforScience,一場發生在當下的科技革命



請為這篇文章評分?