complex — комплексные числа
Последний из трёх встроенных числовых типов — для инженерных и научных задач, где нужна и действительная, и мнимая часть.
complex — тип для комплексных чисел: значений вида
«действительная часть + мнимая часть». В Python мнимую единицу записывают буквой
j (а не i, как в математике —
инженерное соглашение, чтобы не путать с обозначением тока).
z = 3 + 4j
print(z)
print(type(z))
Действительная и мнимая часть
z = 3 + 4j
print(z.real) # 3.0
print(z.imag) # 4.0
print(abs(z)) # 5.0 — длина вектора от начала координат
Где встречается на практике
В обычном прикладном коде комплексные числа — редкость. Но в некоторых областях они незаменимы:
- Электротехника — расчёт переменного тока;
- Обработка сигналов — преобразование Фурье и связанные вычисления;
- Системы управления — анализ устойчивости;
- Физика — квантовая механика, волновые процессы.
Если ни одна из этих областей не входит в ваши ближайшие планы — вполне нормально
просто знать, что complex существует, и вернуться к этому
разделу, когда он действительно понадобится.
cmath — математика для комплексных чисел
Обычный модуль math (раздел 4.18) не умеет работать с
комплексными числами — для них есть отдельный модуль cmath:
import cmath
z = 3 + 4j
print(cmath.phase(z)) # угол вектора z в радианах