我們知道 Python 有很多運算符可以進行數學運算,如果是簡單的問題還好說,但是要處理一些相對複雜的問題也要我們自己一行一行手動的來編寫嗎?答案當然不是,Python 提供了 math 模塊對一些數學運算提供了支持。 1.簡介 math 模塊提供了對 C 標准定義的數學函數的訪問,但該模塊並不支持 ...
我們知道 Python 有很多運算符可以進行數學運算,如果是簡單的問題還好說,但是要處理一些相對複雜的問題也要我們自己一行一行手動的來編寫嗎?答案當然不是,Python 提供了 math 模塊對一些數學運算提供了支持。
1.簡介
math 模塊提供了對 C 標准定義的數學函數的訪問,但該模塊並不支持複數運算,如果想使用複數預算需使用 cmath 模塊,將支持計算複數的函數區分開的目的,來自於大多數開發者並不願意像數學家一樣需要學習複數的概念,說白了就是我們開發工作幾乎用不到複數,得到一個異常而不是一個複數結果也能讓我們更早地監測到傳遞的參數中包含複數。
我們可以先使用 dir 函數查看 math 中包含的內容。示例如下:
import math
print(dir(math))
2 常用函數
ceil(x)
返回 x 的上限,即大於或者等於 x 的最小整數,如果 x 不是一個浮點數,返回一個 Integral 值。示例如下:
import math
print(math.ceil(-1))
print(math.ceil(1.024))
copysign(x, y)
返回一個基於 x 的絕對值和 y 的符號的浮點數。示例如下:
import math
#-1 的符號(-)賦給 1
print(math.copysign(1,-1))
#輸出結果
#-1.0
fabs(x)
返回 x 的絕對值。示例如下:
import math
print(math.fabs(-1))
factorial(x)
以一個整數返回 x 的階乘,如果 x 不是整數或為負數時則將引發 ValueError。示例如下:
import math
print(math.factorial(6))
print(math.factorial(-6))
floor(x)
返回 x 的向下取整,小於或等於 x 的最大整數,如果 x 不是浮點數,則返回 Integral 值。示例如下:
import math
print(math.floor(-1.024))
print(math.floor(1024))
fmod(x, y)
得到 x/y 的餘數,其值是一個浮點數。示例如下:
import math
print(math.fmod(1,2))
frexp(x)
返回 x 的尾數和指數對 (m, e),m 是一個浮點數,e 是一個整數,正好是 x == m * 2**e,如果 x 為零,則返回 (0.0, 0) ,否則返回 0.5 <= abs(m) < 1 。示例如下:
import math
print(math.frexp(1024))
fsum(iterable)
返回迭代中的精確浮點值。示例如下:
import math
print(math.fsum([1,2,3,4,5,6]))
gcd(a, b)
返回整數 a 和 b 的最大公約數。示例如下:
import math
print(math.gcd(3, 9))
exp(x)
返回 e 的 x 冪,其中 e = 2.718281... 是自然對數的基數。示例如下:
import math
print(math.exp(6))
expm1(x)
返回 e 的 x 次冪減 1。示例如下:
import math
print(math.expm1(6))
log(x, base=None)
返回 x 的自然對數,預設以 e 為基數,base 參數給定時,將 x 的對數返回給定的 base,計算式為:log(x)/log(base)。示例如下:
import math
print(math.log(10,24))
log1p(x)
返回 x+1 的自然對數(基數為 e)的值。示例如下:
import math
print(math.log1p(1024))
log2(x)
返回 x 以 2 為底的對數,通常比 log(x, 2) 更準確。示例如下:
import math
print(math.log2(1024))
log10(x) 與之類似,返回 x 底為 10 的對數。
pow(x, y)
將返回 x 的 y 次冪。示例如下:
import math
print(math.pow(6,2))
sqrt(x)
返回 x 的平方根。示例如下:
import math
print(math.sqrt(1024))
acos(x)
以弧度為單位返回 x 的反餘弦值,x 為 -1 到 1 之間的數值,如果 x 是大於 1,會產生一個錯誤。示例如下:
import math
print(math.acos(0.5))
print(math.acos(3))
asin(x)
以弧度為單位返回 x 的反正弦值。示例如下:
import math
print(math.asin(0.5))
atan(x)
以弧度為單位返回 x 的反正切值。示例如下:
import math
print(math.atan(0.5))
cos(x)
返回 x 弧度的餘弦值。示例如下:
'''
學習中遇到問題沒人解答?小編創建了一個Python學習交流群:857662006
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書!
'''
import math
print(math.cos(0.5))
sin(x)
返回 x 弧度的正弦值。示例如下:
import math
print(math.sin(0.5))
tan(x)
返回 x 弧度的正切值。示例如下:
import math
print(math.sin(0.5))