平方根 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
。