溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python數(shù)學(xué)相關(guān)模塊怎么用

發(fā)布時(shí)間:2022-04-20 13:37:49 來源:億速云 閱讀:173 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“Python數(shù)學(xué)相關(guān)模塊怎么用”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

Python數(shù)學(xué)相關(guān)模塊怎么用

一、math模塊

math庫是Python提供的內(nèi)置數(shù)學(xué)類函數(shù)庫,因?yàn)閺?fù)數(shù)類型常用于科學(xué)計(jì)算,一般計(jì)算并不常用,因此math庫 不支持 復(fù)數(shù)類型,僅支持 整數(shù)和浮點(diǎn)數(shù)運(yùn)算。

import math

1、數(shù)學(xué)常數(shù)

常數(shù)說明實(shí)例
math.pi圓周率 π>>> math.pi 輸出結(jié)果:3.141592653589793
math.e自然常數(shù)e>>> math.e 輸出結(jié)果:2.718281828459045
math.inf正無窮大,負(fù)無窮大為:-math.inf>>> math.inf 輸出結(jié)果:inf
math.nan非浮點(diǎn)數(shù)標(biāo)記,NaN>>> math.nan 輸出結(jié)果:nan

2、常用函數(shù)

math.ceil(浮點(diǎn)數(shù))

向上取整操作;返回值:整數(shù)

>>> import math
>>> math.ceil(13.14)
14
>>> math.ceil(9.9)
10
>>> math.ceil(19) # 整數(shù)無效
19

math.floor(浮點(diǎn)數(shù))

向下取整操作;返回值:整數(shù)

>>> import math
>>> math.floor(13.14)
13
>>> math.floor(9.9)
9
>>> math.floor(19) # 整數(shù)無效
19

round(浮點(diǎn)數(shù))

四舍五入操作;返回值:整數(shù)

>>> import math
>>> round(13.14)
13
>>> round(9.9)
10
>>> round(11.936, 2) # 保留兩位小數(shù)的方式
11.94
>>> round(9) # 整數(shù)無效
9

math.fabs(數(shù)值)

獲取數(shù)值絕對值操作;返回值:浮點(diǎn)數(shù)

>>> import math
>>> math.fabs(-9)
9.0
>>> math.fabs(9)
9.0
>>> math.fabs(-9.9)
9.9
>>> math.fabs(9.9)
9.9

abs(數(shù)值)

獲取數(shù)值絕對值操作;返回值:整數(shù)、浮點(diǎn)數(shù)(根據(jù)原數(shù)據(jù)的類型而定)

>>> import math
>>> abs(-9)
9
>>> abs(-9.9)
9.9

math.fmod(x, y)

返回 x/y 的余數(shù);返回值:浮點(diǎn)數(shù)

>>> import math
>>> math.fmod(4, 2)
0.0
>>> math.fmod(5, 2)
1.0
>>> math.fmod(10, 3)
1.0

math.pow(底數(shù),冪)

計(jì)算一個(gè)數(shù)值的N次方;返回值:浮點(diǎn)類型

>>> import math
>>> math.pow(2,4)
16.0
>>> math.pow(3,2)
9.0
>>> math.pow(5, 3)
125.0

math.sqrt(數(shù)值)

開平方;返回值:浮點(diǎn)數(shù)

>>> import math>>> math.sqrt(9)3.0>>> math.sqrt(4)2.0>>> math.sqrt(16)4.0

fsum(序列)

返回序列中所有元素的和;返回值:浮點(diǎn)數(shù)

>>> 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

sum(序列)

將一個(gè)序列的數(shù)值進(jìn)行相加求和;返回值:數(shù)值類型(根據(jù)序列中數(shù)值的類型變化)

>>> 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

math.modf(數(shù)值)

將一個(gè)浮點(diǎn)數(shù)拆成小數(shù)和整數(shù)部分組成的元組;返回值:元組

>>> 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)

math.trunc(浮點(diǎn)數(shù))

返回浮點(diǎn)數(shù)的整數(shù)部分;返回值:整數(shù)

>>> import math
>>> math.trunc(2.1)
2
>>> math.trunc(9.9)
9
>>> math.trunc(10.0)
10

math.copysign(值1,值2)

將第二個(gè)數(shù)的正負(fù)號復(fù)制給第一個(gè)數(shù);返回值:浮點(diǎn)數(shù)(值1 符號是值2的正負(fù)號)

>>> import math
>>> math.copysign(-2, 1)
2.0
>>> math.copysign(2,-1)
-2.0

math.actorial(x)

返回 x 的階乘,如果 x 不是整數(shù)或?yàn)樨?fù)數(shù)時(shí)則將引發(fā) ValueError;返回值:整數(shù)

>>> import math
>>> math.factorial(4)
24
>>> math.factorial(3)
6
>>> math.factorial(1)
1

math.gcd(x, y)

返回整數(shù) x 和 y 的最大公約數(shù);返回值:整數(shù)

>>> import math
>>> math.gcd(2,4)
2
>>> math.gcd(3,9)
3
>>> math.gcd(9,6)
3

二、decimal模塊

decimal 模塊提供了一個(gè)Decimal數(shù)據(jù)類型用于浮點(diǎn)數(shù)計(jì)算。相比內(nèi)置的二進(jìn)制浮點(diǎn)數(shù)實(shí)現(xiàn)float這個(gè)類型有助于金融應(yīng)用和其它需要精確十進(jìn)制表達(dá)的場合,控制精度,控制舍入以適應(yīng)法律或者規(guī)定要求,確保十進(jìn)制數(shù)位精度,或者用戶希望計(jì)算結(jié)果與手算相符的場合。Decimal重現(xiàn)了手工的數(shù)學(xué)運(yùn)算,這就確保了二進(jìn)制浮點(diǎn)數(shù)無法精確保有的數(shù)據(jù)精度。高精度使Decimal可以執(zhí)行二進(jìn)制浮點(diǎn)數(shù)無法進(jìn)行的模運(yùn)算和等值測試。

1、什么時(shí)候使用decimal

python中小數(shù)相加可能會(huì)計(jì)算出結(jié)果不對,那就是由于科學(xué)計(jì)算精度問題
Python數(shù)學(xué)相關(guān)模塊怎么用
如上:我們需要得要的值是5.03,如果需要處理這個(gè)問題的話就需要用到decimal模塊了

2、使用decimal

設(shè)置精度decimal.getcontext().prec = num (num為有效數(shù)字個(gè)數(shù))

>>> 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

設(shè)置小數(shù)位數(shù)quantize()

import decimal

print(decimal.Decimal(1.1234567890).quantize(decimal.Decimal("0.000")))  # 設(shè)置3位小數(shù)
print(decimal.Decimal(1.1234567890).quantize(decimal.Decimal("0.00")))  # 設(shè)置2位小數(shù)
print(decimal.Decimal(1.1234567890).quantize(decimal.Decimal("0.0")))  # 設(shè)置1位小數(shù)

輸出結(jié)果:

1.123
1.12
1.1

“Python數(shù)學(xué)相關(guān)模塊怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI