Квадратный корень: 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

 

math.sqrt() функция вызывает ValueError , если результат будет complex :

 math.sqrt(-10)              
 

ValueError: ошибка математического домена

math.sqrt(x) быстрее , чем math.pow(x, 0.5) или x ** 0.5 , но точность результатов является то же самое. cmath модуль очень похож на math модуля, за исключением того , что можно вычислить комплексные числа , и все его результаты в виде + би исключением. Он может также использовать .sqrt() :

 import cmath

cmath.sqrt(4)  # 2+0j
cmath.sqrt(-4) # 2j

 

Что с j ? j является эквивалентом квадратного корня из -1. Все числа можно записать в виде a + bi или в этом случае a + bj. реальная часть числа , как 2 в 2+0j . Так как она не имеет мнимую часть, b равно 0. b представляет собой часть мнимой части числа , как 2 - в 2j . Поскольку нет никакой реальной части в этом, 2j также можно записать в виде 0 + 2j .