Complex: примеры (PYTHON)

Руководство по функции complex в Python для работы с комплексными числами
Раздел: Встроенные функции, Преобразование типов
complex(real[, imag]): complex

Описание функции complex в Python

Функция complex() является встроенной функцией Python, предназначенной для создания комплексных чисел. Комплексное число состоит из вещественной и мнимой частей, где мнимая часть обозначается суффиксом j.

Использование функции происходит в различных областях: научные вычисления, инженерия, обработка сигналов и машинное обучение. Функция преобразует числа или строки в комплексный тип данных.

Аргументы функции

  • real (опциональный, по умолчанию 0) - вещественная часть числа. Может быть целым числом, числом с плавающей точкой или строкой.
  • imag (опциональный, по умолчанию 0) - мнимая часть числа. Принимает целые числа или числа с плавающей точкой. Аргумент игнорируется, если первый аргумент является строкой.

Возвращаемое значение

Функция возвращает объект типа complex, представляющий комплексное число. Если аргументы не указаны, возвращается число 0j.

Примеры использования функции complex

Различные варианты вызова функции с разными параметрами.

Создание комплексного числа с двумя числами

complex(3, 4)
(3+4j)

Создание с вещественным числом

complex(5.5)
(5.5+0j)

Создание из строки

complex('2+3j')
(2+3j)

Без аргументов

complex()
0j

Похожие функции в Python

В Python отсутствуют прямые аналоги функции complex для создания комплексных чисел. Однако для работы с ними применяются другие методы.

  • Прямое создание с использованием литерала, например, 3 + 4j. Этот метод более читаем и предпочтителен для явного задания чисел.
  • Модуль cmath предоставляет математические функции для комплексных чисел, такие как cmath.sqrt() или cmath.phase(). Его используют для вычислений.

Функцию complex применяют, когда нужно преобразовать строки или числа в комплексный тип, а литералы - для непосредственной записи чисел.

Аналоги функции complex в других языках

JavaScript

В JavaScript нет встроенного типа для комплексных чисел. Используют библиотеки или создают объекты.

// Пример с объектом
let z = { real: 3, imag: 4 };
console.log(z);
{ real: 3, imag: 4 }

Java

В Java применяют класс Complex из библиотек, например, Apache Commons Math.

// Пример с Apache Commons Math
Complex z = new Complex(3, 4);
System.out.println(z);
(3.0, 4.0)

C#

В C# используется структура System.Numerics.Complex.

Complex z = new Complex(3, 4);
Console.WriteLine(z);
(3, 4)

Golang

В Go комплексные числа являются встроенным типом с литералами.

z := complex(3, 4)
fmt.Println(z)
(3+4i)

PHP

PHP не имеет встроенной поддержки комплексных чисел, но существуют расширения.

Kotlin

Kotlin использует класс Complex из стандартной библиотеки kotlin.math.

val z = Complex(3.0, 4.0)
println(z)
(3.0, 4.0)

В отличие от Python, многие языки требуют библиотек для работы с комплексными числами, а Python включает их поддержку на уровне ядра.

Типичные ошибки при использовании функции complex

Передача строки с пробелами

complex('2 + 3j')
ValueError: complex() arg is a malformed string

Использование неправильного формата строки

complex('2 + 3i')
ValueError: complex() arg is a malformed string

Передача строки и второго аргумента

complex('2', 3)
TypeError: complex() can't take second arg if first is a string

Некорректный тип данных

complex([1, 2])
TypeError: complex() first argument must be a string or a number, not 'list'

Изменения в функции complex

В последних версиях Python функция complex не претерпела значительных изменений. Однако в Python 3 была изменена обработка целых чисел и улучшена производительность. В Python 3.8 и выше функция работает стабильно без изменений в синтаксисе или поведении.

Расширенные примеры использования функции complex

Использование в математических операциях

Пример python
z1 = complex(2, 3)
z2 = complex(4, -1)
result = z1 * z2
print(result)
(11+10j)

Преобразование полярных координат

Пример python
import cmath
r = 5
phi = cmath.pi / 4
z = complex(r * cmath.cos(phi), r * cmath.sin(phi))
print(z)
(3.5355339059327378+3.5355339059327373j)

Использование в списковых включениях

Пример python
real_parts = [1, 2, 3]
imag_parts = [4, 5, 6]
complex_list = [complex(r, i) for r, i in zip(real_parts, imag_parts)]
print(complex_list)
[(1+4j), (2+5j), (3+6j)]

Обработка пользовательского ввода

Пример python
user_input = '3+4j'
z = complex(user_input)
print(f'Модуль числа: {abs(z)}')
Модуль числа: 5.0

Создание массивов комплексных чисел

Пример python
import numpy as np
arr = np.array([complex(1, 2), complex(3, 4)])
print(arr)
[1.+2.j 3.+4.j]

Использование с десятичными числами

Пример python
from decimal import Decimal
z = complex(Decimal('3.14'), Decimal('2.71'))
print(z)
(3.14+2.71j)

питон complex function comments

En
Complex Create complex number