溫馨提示×

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

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

math模塊怎么在python怎么中使用

發(fā)布時(shí)間:2021-01-18 15:14:43 來源:億速云 閱讀:180 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān) math模塊怎么在python怎么中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

what's the math 模塊

  Python math 模塊提供了許多對(duì)浮點(diǎn)數(shù)的數(shù)學(xué)運(yùn)算函數(shù)。需要注意的是,這些函數(shù)一般是對(duì)平臺(tái) C 庫中同名函數(shù)的簡(jiǎn)單封裝, 所以一般情況下, 不同平臺(tái)下計(jì)算的結(jié)果可能稍微地有所不同, 有時(shí)候甚至有很大出入。

主要功能有:

  • 冪數(shù):冪次方、平方根

  • 對(duì)數(shù):2、10、e相關(guān)的對(duì)數(shù)操作

  • 圓相關(guān):π、弧度與角度的轉(zhuǎn)換

  • 三角函數(shù):正三角函數(shù)、反三角函數(shù)

  • 其他常用:小數(shù)的整數(shù)部分、向上取整、向下取整、兩個(gè)數(shù)的最大公約數(shù)、取余數(shù)... 

冪數(shù)

冪與平方根

# pow(x, y):返回x的y次方
print(math.pow(2, 4)) # 2**4

# ldexp(x, i):返回x*(2**i)的值
print(math.ldexp(5, 2)) # 5*(2**2)=20.0

# sqrt(x):求x的平方根
print(math.sqrt(16)) # 4.0

# factorial(x):取x的階乘的值
print(math.factorial(5)) # 5*4*3*2*1 # 120

# hypot(x, y):得到(x**2+y**2)的平方根
print(math.hypot(3, 4)) # 5

常數(shù)e相關(guān)

import math

# 常數(shù)e
math.e # 2.718281828459045

# exp(x):返回常數(shù)e的x次方
math.exp(2) # 7.38905609893065,相當(dāng)于math.e**2

# expm1:返回常數(shù)e的x次方的值減1
math.expm1(1) # 1.718281828459045,相當(dāng)于math.exp(1) - 1

對(duì)數(shù)

# log2(x):返回x的基2對(duì)數(shù)
print(math.log2(128)) # 7

# log10(x):返回x的以10為底的對(duì)數(shù)
print(math.log10(100)) # 2

# log(x, base):返回x的自然對(duì)數(shù),默認(rèn)以e為基數(shù),base參數(shù)給定時(shí),將x的對(duì)數(shù)返回給定的base,計(jì)算式為:log(x)/log(base)
print(math.log(256, 4)) # 4

# log1p(x)::返回x+1的自然對(duì)數(shù)(基數(shù)為e)的值
print(math.log1p(5))

圓相關(guān)

# pi:常數(shù)π,圓周率
print(math.pi) # 3.141592653589793

angle = 30 # 30度
# radians:把角度x轉(zhuǎn)換成弧度
print(math.radians(angle)) # 0.5235987755982988
print(30*math.pi/180) # 效果相同

# degrees:把x從弧度轉(zhuǎn)換成角度
temp = math.radians(angle)
print(math.degrees(temp)) # 29.999999999999996

三角函數(shù)

sin、cos、tan

  math 模塊對(duì)正三角函數(shù)的計(jì)算,變量是弧度,所以在計(jì)算時(shí)需要先將角度轉(zhuǎn)換為弧度

angle = 30 # 30度
radian = math.radians(angle) # 角度轉(zhuǎn)換成弧度
print(math.sin(radian))
print(math.cos(radian))
print(math.tan(radian))

asin和acos和atan

  math 模塊對(duì)反三角函數(shù)的計(jì)算,返回值是弧度

h = math.asin(0.5) # sin(30) = 0.5
print(math.degrees(h)) # 30.000000000000004

h = math.acos(0.5) # cos(60) = 0.5
print(math.degrees(h)) # 60.00000000000001


h = math.atan(1) # tan(45) = 1
print(math.degrees(h)) # 45.0

sinh和cosh和tanh,asinh和acosh和atanh

  雙曲正弦、余弦、正切,反雙曲正弦、余弦、正切

其他

# trunc(x):返回x的整數(shù)部分
print(math.trunc(8.3)) # 8

# ceil(x):取大于等于x的最小的整數(shù)值,如果x是一個(gè)整數(shù),則返回x
print(math.ceil(10.2)) # 11

# floor(x):取小于等于x的最大的整數(shù)值,如果x是一個(gè)整數(shù),則返回自身
print(math.floor(15.3)) # 15

# fabs(x):返回x的絕對(duì)值
print(math.fabs(-13)) # 13.0

# modf(x):返回由x的小數(shù)部分和整數(shù)部分組成的元組
print(math.modf(132.333)) # (0.3329999999999984, 132.0)

# copysign(x, y):把y的正負(fù)號(hào)加到x前面,可以使用0
print(math.copysign(10 ,-15)) # -10.0

# fmod(x, y):得到x/y的余數(shù),其值是一個(gè)浮點(diǎn)數(shù)
print(math.fmod(15, 2)) # 1.0

# gcd(x, y):返回x和y的最大公約數(shù)
print(math.gcd(8, 100)) # 4

# frexp(x):返回一個(gè)元組(m,e),其計(jì)算方式為:x分別除0.5和1,得到一個(gè)值的范圍
print(math.frexp(10))

# fsum(x):對(duì)迭代器里的每個(gè)元素進(jìn)行求和操作
print(math.fsum([1, 2, 3, 4])) # 10.0

# isfinite(x):如果x是正無窮大或負(fù)無窮大,則返回True,否則返回False
#
# isinf(x):如果x是正無窮大或負(fù)無窮大,則返回True,否則返回False
#
# isnan(x):如果x不是數(shù)字True,否則返回False
print(math.isnan(1.222))

進(jìn)階應(yīng)用

計(jì)算2個(gè)坐標(biāo)點(diǎn)的距離

import math
 
x1 = 0
y1 = 20
x2 = 12
y2 = 0

p1 = (x1, y1)
p2 = (x2, y2)

result = math.sqrt(math.pow(x1 - x2, 2) +math.pow(y1 - y2, 2))

看完上述內(nèi)容,你們對(duì) math模塊怎么在python怎么中使用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

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

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

AI