本篇內容介紹了“Python數學相關模塊怎么用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
為武安等地區(qū)用戶提供了全套網頁設計制作服務,及武安網站建設行業(yè)解決方案。主營業(yè)務為網站制作、做網站、武安網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
math庫是Python提供的內置數學類函數庫,因為復數類型常用于科學計算,一般計算并不常用,因此math庫 不支持 復數類型,僅支持 整數和浮點數運算。
import math
常數 | 說明 | 實例 |
---|---|---|
math.pi | 圓周率 π | >>> math.pi 輸出結果:3.141592653589793 |
math.e | 自然常數e | >>> math.e 輸出結果:2.718281828459045 |
math.inf | 正無窮大,負無窮大為:-math.inf | >>> math.inf 輸出結果:inf |
math.nan | 非浮點數標記,NaN | >>> math.nan 輸出結果:nan |
向上取整操作;返回值:整數
>>> import math >>> math.ceil(13.14) 14 >>> math.ceil(9.9) 10 >>> math.ceil(19) # 整數無效 19
向下取整操作;返回值:整數
>>> import math >>> math.floor(13.14) 13 >>> math.floor(9.9) 9 >>> math.floor(19) # 整數無效 19
四舍五入操作;返回值:整數
>>> import math >>> round(13.14) 13 >>> round(9.9) 10 >>> round(11.936, 2) # 保留兩位小數的方式 11.94 >>> round(9) # 整數無效 9
獲取數值絕對值操作;返回值:浮點數
>>> import math >>> math.fabs(-9) 9.0 >>> math.fabs(9) 9.0 >>> math.fabs(-9.9) 9.9 >>> math.fabs(9.9) 9.9
獲取數值絕對值操作;返回值:整數、浮點數(根據原數據的類型而定)
>>> import math >>> abs(-9) 9 >>> abs(-9.9) 9.9
返回
x/y
的余數;返回值:浮點數
>>> import math >>> math.fmod(4, 2) 0.0 >>> math.fmod(5, 2) 1.0 >>> math.fmod(10, 3) 1.0
計算一個數值的N次方;返回值:浮點類型
>>> import math >>> math.pow(2,4) 16.0 >>> math.pow(3,2) 9.0 >>> math.pow(5, 3) 125.0
開平方;返回值:浮點數
>>> import math>>> math.sqrt(9)3.0>>> math.sqrt(4)2.0>>> math.sqrt(16)4.0
返回序列中所有元素的和;返回值:浮點數
>>> import math >>> math.fsum((1, 2, 3, 4, 5)) 15.0 >>> math.fsum(range(1,11)) 55.0 >>> math.fsum(range(1,101)) 5050.0
將一個序列的數值進行相加求和;返回值:數值類型(根據序列中數值的類型變化)
>>> import math >>> sum([1,2,3,4,5]) 15 >>> sum(range(1,11) ... ) 55 >>> sum([1.0,2.0,3.0,4.0,5.0]) 15.0
將一個浮點數拆成小數和整數部分組成的元組;返回值:元組
>>> import math >>> math.modf(10.1) (0.09999999999999964, 10.0) >>> math.modf(9.9) (0.9000000000000004, 9.0) >>> math.modf(9) (0.0, 9.0)
返回浮點數的整數部分;返回值:整數
>>> import math >>> math.trunc(2.1) 2 >>> math.trunc(9.9) 9 >>> math.trunc(10.0) 10
將第二個數的正負號復制給第一個數;返回值:浮點數(值1 符號是值2的正負號)
>>> import math >>> math.copysign(-2, 1) 2.0 >>> math.copysign(2,-1) -2.0
返回 x 的階乘,如果 x 不是整數或為負數時則將引發(fā) ValueError;返回值:整數
>>> import math >>> math.factorial(4) 24 >>> math.factorial(3) 6 >>> math.factorial(1) 1
返回整數 x 和 y 的最大公約數;返回值:整數
>>> import math >>> math.gcd(2,4) 2 >>> math.gcd(3,9) 3 >>> math.gcd(9,6) 3
decimal 模塊提供了一個Decimal數據類型用于浮點數計算。相比內置的二進制浮點數實現float這個類型有助于金融應用和其它需要精確十進制表達的場合,控制精度,控制舍入以適應法律或者規(guī)定要求,確保十進制數位精度,或者用戶希望計算結果與手算相符的場合。Decimal重現了手工的數學運算,這就確保了二進制浮點數無法精確保有的數據精度。高精度使Decimal可以執(zhí)行二進制浮點數無法進行的模運算和等值測試。
python中小數相加可能會計算出結果不對,那就是由于科學計算精度問題
如上:我們需要得要的值是5.03
,如果需要處理這個問題的話就需要用到decimal
模塊了
設置精度:decimal.getcontext().prec = num
(num為有效數字個數)
>>> import decimal >>> decimal.getcontext().prec = 3 >>> print(decimal.Decimal(2.02) + decimal.Decimal(3.01)) 5.03 >>> decimal.getcontext().prec = 2 >>> print(decimal.Decimal(2.02) + decimal.Decimal(3.01)) 5.0
設置小數位數:quantize()
import decimal print(decimal.Decimal(1.1234567890).quantize(decimal.Decimal("0.000"))) # 設置3位小數 print(decimal.Decimal(1.1234567890).quantize(decimal.Decimal("0.00"))) # 設置2位小數 print(decimal.Decimal(1.1234567890).quantize(decimal.Decimal("0.0"))) # 設置1位小數
輸出結果:
1.123 1.12 1.1
“Python數學相關模塊怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯網站,小編將為大家輸出更多高質量的實用文章!