Глава 4 · Python любит числа

complex — комплексные числа

Последний из трёх встроенных числовых типов — для инженерных и научных задач, где нужна и действительная, и мнимая часть.

complex — тип для комплексных чисел: значений вида «действительная часть + мнимая часть». В Python мнимую единицу записывают буквой j (а не i, как в математике — инженерное соглашение, чтобы не путать с обозначением тока).

complex_demo.py
z = 3 + 4j
print(z)
print(type(z))

Действительная и мнимая часть

real_imag.py
z = 3 + 4j
print(z.real)  # 3.0
print(z.imag)  # 4.0
print(abs(z))  # 5.0 — длина вектора от начала координат
realimaginaryz = 3+4j
z = 3 + 4j на комплексной плоскости

Где встречается на практике

В обычном прикладном коде комплексные числа — редкость. Но в некоторых областях они незаменимы:

Если ни одна из этих областей не входит в ваши ближайшие планы — вполне нормально просто знать, что complex существует, и вернуться к этому разделу, когда он действительно понадобится.

cmath — математика для комплексных чисел

Обычный модуль math (раздел 4.18) не умеет работать с комплексными числами — для них есть отдельный модуль cmath:

cmath_demo.py
import cmath

z = 3 + 4j
print(cmath.phase(z))  # угол вектора z в радианах
Практика: комплексная плоскость
Интерактивный ноутбук прямо в браузере — real, imag, abs() для комплексных чисел
Открыть практику →