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
Использование в математических операциях
z1 = complex(2, 3)
z2 = complex(4, -1)
result = z1 * z2
print(result)(11+10j)
Преобразование полярных координат
import cmath
r = 5
phi = cmath.pi / 4
z = complex(r * cmath.cos(phi), r * cmath.sin(phi))
print(z)(3.5355339059327378+3.5355339059327373j)
Использование в списковых включениях
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)]
Обработка пользовательского ввода
user_input = '3+4j'
z = complex(user_input)
print(f'Модуль числа: {abs(z)}')Модуль числа: 5.0
Создание массивов комплексных чисел
import numpy as np
arr = np.array([complex(1, 2), complex(3, 4)])
print(arr)[1.+2.j 3.+4.j]
Использование с десятичными числами
from decimal import Decimal
z = complex(Decimal('3.14'), Decimal('2.71'))
print(z)(3.14+2.71j)