平方根 math.sqrt() 和 cmath.sqrt
math
模組包含 math.sqrt()
函式,可以計算任意數字的平方根(可以轉換為 float
),結果將始終為 float
:
import math
math.sqrt(9) # 3.0
math.sqrt(11.11) # 3.3331666624997918
math.sqrt(Decimal('6.25')) # 2.5
如果結果是 complex
,math.sqrt()
函式會提升 ValueError
:
math.sqrt(-10)
ValueError:數學域錯誤
math.sqrt(x)
比 math.pow(x, 0.5)
或 x ** 0.5
*快,*但結果的精度是相同的。cmath
模組與 math
模組非常相似,除了它可以計算複數並且其所有結果都是+ bi 的形式。它也可以使用 .sqrt()
:
import cmath
cmath.sqrt(4) # 2+0j
cmath.sqrt(-4) # 2j
什麼是 j
?j
相當於 -1 的平方根。所有數字都可以放入 a + bi 形式,或者在這種情況下,a + bj。a
是真實的一部分,如 2+0j
中的 2。由於它沒有虛部,b
為 0. b
代表數字的虛部的一部分,如 2j
中的 2。由於這裡沒有真正的部分,2j
也可以寫成 0 + 2j
。