Перейти к содержимому

Что делает функция complex python

  • автор:

Класс complex() создает/преобразовывает число/строку в комплексное число

Класс complex() преобразует строку с записью комплексного числа в комплексное число или вернет комплексное число со значением переданных аргументов: действительной и мнимой частью.

Если первый параметр является строкой, например ‘3+5j’ , то выполнится преобразование строки в комплексное число, в этом случае второй параметр imag должен быть опущен.

Второй параметр imag никогда не может быть строкой. Каждый аргумент может быть любого числового типа ( int или float ). Если imag опущен, то по умолчанию используется 0 . Если оба аргумента опущены, возвращается 0j .

Заметка:
При преобразовании из строки, строка не должна содержать пробелов вокруг + или — оператора. Например, complex(‘ 1+2j ‘) — хорошо, но при записи строки комплексного числа с пробелами complex(‘1 + 2j’) бросится исключение ValueError .

Примеры преобразования числа или строки в комплексное число.

>>> complex() # 0j >>> complex(1) # (1+0j) >>> complex(1.5) # (1.5+0j) >>> complex(3, 5) # (3+5j) >>> complex(1, 2e-2) # (1+0.02j) # Преобразование в тип из строки # обратите внимание на пробелы в аргументах >>> complex(' 1+2j ') # (1+2j) >>> complex(' 0.1+2.0j') # (0.1+2j) >>> complex(' .1+2.j ') # (0.1+2j) >>> complex(' 1e3+2e-3j') # (1000+0.002j) 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Функция abs(), абсолютное значение числа
  • Функция all(), все элементы True
  • Функция any(), хотя бы один элемент True
  • Функция ascii(), преобразует строку в ASCII
  • Функция bin(), число в двоичную строку
  • Класс bool(), логическое значение объекта
  • Функция breakpoint(), отладчик кода
  • Класс bytearray(), преобразует в массив байтов
  • Класс bytes(), преобразует в строку байтов
  • Функция callable(), проверяет можно ли вызвать объект
  • Функция chr(), число в символ Юникода
  • Класс classmethod, делает функцию методом класса
  • Функция compile() компилирует блок кода Python
  • Класс complex(), преобразует в комплексное число
  • Функция delattr(), удаляет атрибут объекта
  • Класс dict() создает словарь
  • Функция dir(), все атрибуты объекта
  • Функция divmod(), делит числа с остатком
  • Функция enumerate(), счетчик элементов последовательности
  • Функция eval(), выполняет строку-выражение с кодом
  • Функция exec(), выполняет блок кода
  • Функция filter(), фильтрует список по условию
  • Класс float(), преобразует в вещественное число
  • Функция format(), форматирует значение переменной
  • Класс frozenset(), преобразует в неизменяемое множество
  • Функция getattr(), значение атрибута по имени
  • Функция globals(), переменные глобальной области
  • Функция hasattr(), наличие атрибута объекта
  • Функция hash(), хэш-значение объекта
  • Функция help(), справка по любому объекту
  • Функция hex(), число в шестнадцатеричную строку
  • Функция id(), идентификатор объекта
  • Функция input(), ввод данных с клавиатуры
  • Класс int(), преобразует в тип int
  • Функция isinstance(), принадлежность экземпляра к классу
  • Функция issubclass(), проверяет наследование класса
  • Функция iter(), создает итератор
  • Функция len(), количество элементов объекта
  • Класс list(), преобразовывает в список
  • Функция locals(), переменные локальной области
  • Функция map(), обработка последовательности без цикла
  • Функция max(), максимальное значение элемента
  • Класс memoryview(), ссылка на буфер обмена
  • Функция min(), минимальное значение элемента
  • Функция next(), следующий элемент итератора
  • Класс object(), возвращает безликий объект
  • Функция oct(), число в восьмеричную строку
  • Функция open(), открывает файл на чтение/запись
  • Функция ord(), число символа Unicode
  • Функция pow(), возводит число в степень
  • Функция print(), печатает объект
  • Класс property(), метод класса как свойство
  • Класс range(), генерирует арифметические последовательности
  • Функция repr(), описание объекта
  • Функция reversed(), разворачивает последовательность
  • Функция round(), округляет число
  • Класс set(), создает или преобразовывает в множество
  • Функция setattr(), создает атрибут объекта
  • Класс slice(), шаблон среза
  • Функция sorted(), выполняет сортировку
  • Декоратор staticmethod(), метод класса в статический метод
  • Класс str(), преобразует объект в строку
  • Функция sum(), сумма последовательности
  • Функция super(), доступ к унаследованным методам
  • Класс tuple(), создает или преобразует в кортеж
  • Класс type(), возвращает тип объекта
  • Функция vars(), словарь переменных объекта
  • Функция zip(), объединить элементы в список кортежей
  • Функция __import__(), находит и импортирует модуль
  • Функция aiter(), создает асинхронный итератор
  • Функция anext(), следующий элемент асинхронного итератора

complex

Чтобы создать комплексное число, в котором вещественная часть равна нулю можно добавить j (в любом регистре) к числовому литералу. Далее добавить к этому числу вещественную часть можно обычным сложением.

Кроме того, создать комплексное число можно при помощи конструктора complex(real[, imag=0]) :

 my_complex = complex(2, 3) # (2+3j) 
my_complex = 2+3j # (2+3j)

isinstance(my_complex, complex) # True

my_complex.real # 2.0
my_complex.imag # 3.0

my_complex.conjugate() # (2-3j)

isinstance(my_complex.real, float) # True
isinstance(my_complex.imag, float) # True

Как видно из примера, получить доступ к вещественной части числа можно через атрибут real , а ко мнимой через imag .
Чтобы получить для данного комплексное числа сопряжённое число, следует воспользоваться методом .conjugate() .

Каждая составляющая комплексного числа представляет собой число с плавающей запятой — float.

Python. Комплексные числа. Модуль cmath. Создание комплексного числа

Комплексные числа. Модуль cmath . Создание комплексного числа. Класс complex . Функции и константы модуля cmath

Поиск на других ресурсах:

1. Модуль cmath . Назначение. Общие сведения

В языке программирования Python для работы с комплексными числами используется модуль cmath . Модуль содержит набор функций для обработки комплексных чисел.
Чтобы использовать средства модуля cmath , сначала его нужно подключить директивой import

import cmath

Модуль всегда доступен из программы.

Функции модуля cmath оперируют аргументами

  • целых чисел;
  • чисел с плавающей запятой (floating point types)
  • комплексных чисел. Комплексное число создается функцией complex() .
2. Создание комплексного числа. Класс complex . Способы создания комплексного числа

Для создания комплексного числа используется класс complex . Чтобы создать экземпляр класса complex (комплексное число) можно использовать один из двух способов.

Способ 1. Задавание непосредственно вещественной и мнимой части комплексного числа

complexNumber = complex([real[, imag]])
  • complexNumber – создаваемое комплексное число. Число представлено как real+imag*1j ;
  • real – вещественная часть комплексного числа;
  • imag – мнимая часть комплексного числа.

При этом функция complex() может получать разное количество аргументов:

  • ноль аргументов. Это означает, что будет сформировано число 0j ;
  • один аргумент. В этом случае будет использоваться комплексное число без мнимой ( j ) части;
  • два аргумента. Первый аргумент — вещественная часть, второй аргумент — мнимая часть.

Каждый из аргументов может быть числового типа, или даже комплексным числом.

Способ 2. Указание комплексного числа в виде строки

complexNumber = complex(complex_number_as_string)
  • complexNumber – создаваемое комплексное число;
  • complex_number_as_string — строка, отражающая комплексное число (например, «2+3j», «1-2j» и т.д.). При представлении комплексного числа, строка не должна содержать символов пробел ‘ ‘ , в противном случае будет сгенерировано исключение ValueError .

При этом способе функция complex() получает только один аргумент — строку. Два аргумента передавать запрещено.

3. Как получить вещественную и мнимую части комплексного числа? Пример

После создания комплексного числа функцией complex() (см. предыдущий пункт) можно получить доступ к его составляющим с помощью следующего обращения:

  • z.real — действительная часть комплексного числа z ;
  • z.imag — мнимая часть комплексного числа z .

Пример.

# Подключить модуль cmath import cmath # Создать комплексное число z = 7-8j z = complex(7, -8) # Получить составляющие числа z re = z.real # вещественная часть im = z.imag # мнимая часть # Вывести полученные составляющие на экран print('re = ', re) print('im = ', im)

Результат выполнения программы

re = 7.0 im = -8.0
4. Пример, демонстрирующий создание комплексного числа различными способами

В примере создаются комплексные числа разными способами с помощью класса complex .

# Метод complex() - создает объект комплексного числа # Способ 1. # 1.1. Вызов метода complex() без параметров num1 = complex() # num1 = 0j print("num1 color: #ff0000;"># 1.2. Вызов метода complex() с 1 параметром типа float num2 = complex(5.22) # num2 = (5.22+0j) print("num2 color: #ff0000;"># 1.3. Вызов метода complex() с 2 параметрами типа int num3 = complex(7, -4) # num3 = (7-4j) print('num3 = ', num3) # 2. Вызов метода complex() с передачей строки num4 = complex('0+0j') # num4 = 0j print('num4 = ', num4) num5 = complex("2+8j") # num5 = (2+8j) print('num5 = ', num5) # здесь ошибка - строка содержит пробелы # num6 = complex('1 - 4j') # 3. Создание комплексного числа на основании других комплексных чисел num6 = complex(num3, num5) # num6 = (-1-2j) print('num6 = ', num6)

Результат выполнения программы

num1 = 0j num2 = (5.22+0j) num3 = (7-4j) num4 = 0j num5 = (2+8j) num6 = (-1-2j)
5. Состав модуля cmath . Группы функций для работы с комплексными числами

В модуле cmath функции для работы с комплексными числами сгруппированы следующим образом:

  • функции преобразования в полярные координаты и наоборот;
  • степенные и логарифмические функции;
  • тригонометрические функции;
  • гиперболические функции;
  • функции классификаций.
5.1. Функции преобразования в полярные координаты и наоборот

К этой категории функций относятся следующие:

  • cmath.phase(x) — возвращает фазу от аргумента x в виде числа типа float ;
  • cmath.polar() — возвращает представление x в полярных координатах;
  • cmath.rect() — возвращает комплексное число из полярных координат.
5.2. Степенные и логарифмические функции

В модуле cmath реализованы следующие степенные и логарифмические функции, оперирующие комплексными числами:

  • cmath.exp(x) — возвращает экспоненту e, возведенную в степень x , где x может быть комплексным числом. Экспонента e является основой натурального логарифма;
  • cmath.log(x) — возвращает натуральный логарифм от аргумента x с заданным основанием;
  • cmath.log10(x) — возвращает логарифм с основанием 10 от аргумента x ;
  • cmath.sqrt(x) — возвращает корень квадратный от аргумента x .
5.3. Тригонометрические функции

Модуль cmath содержит 6 тригонометрических функций, которые обрабатывают комплексные числа:

  • cmath.acos(x) — возвращает арккосинус от аргумента x ;
  • cmath.asin(x) — возвращает арксинус от аргумента x ;
  • cmath.atan(x) — определяет арктангенс от аргумента x ;
  • cmath.cos(x) — возвращает косинус от аргумента x ;
  • cmath.sin(x) — возвращает синус от аргумента x ;
  • cmath.tan(x) — возвращает тангенс от аргумента x .
5.4. Гиперболические функции

Модуль cmath содержит реализацию следующих гиперболических функций, которые оперируют комплексными числами:

  • cmath.acosh(x) — возвращает гиперболический арккосинус от аргумента x ;
  • cmath.asinh(x) — возвращает гиперболический арксинус от аргумента x ;
  • cmath.atanh(x) — возвращает гиперболический арктангенс от аргумента x ;
  • cmath.cosh(x) — возвращает гиперболический косинус от аргумента x ;
  • cmath.sinh(x) — возвращает гиперболический синус от аргумента x ;
  • cmath.tanh(x) — возвращает гиперболический тангенс от аргумента x .
5.5. Функции классификаций

К числу функций классификаций модуля cmath относятся следующие:

  • cmath.isinfinite(x) — определяет, есть ли вещественная и мнимая часть комплексного числа x конечными;
  • cmath.isinf(x) — определяет, есть ли вещественная или мнимая части комплексного числа x бесконечными;
  • cmath.isnan(x) — определяет, имеют ли значение Nan вещественная или мнимая части комплексного числа;
  • cmath.isclose(x) — определяет близость двух значений между собой.
5.6. Константы модуля cmath . Пример

Модуль cmath содержит ряд широко применяемых констант:

  • cmath.pi — математическая константа π, представлена как тип float ;
  • cmath.e — математическая экспонента e , представлена как тип float ;
  • cmath.tau — математическая константа τ (тау), представлена как тип float ;
  • cmath.inf — бесконечность. Это значение эквивалентно значению float(‘inf’) ;
  • cmath.infj — комплексное число, в котором вещественная часть равна 0, мнимая часть равна бесконечности. Это число эквивалентно числу complex(0.0, float(‘inf’)) ;
  • cmath.nanj — комплексное число, в котором вещественная часть равна 0, мнимая равна значению NaN . Это число можно получить путем вызова complex(0.0, float(‘nan’)) .

Пример. В примере выводятся на экран значения констант модуля cmath .

# Подключить модуль cmath import cmath # Вывести значения констант модуля cmath print(cmath.pi) # 3.141592653589793 print(cmath.e) # 2.718281828459045 print(cmath.tau) # 6.283185307179586 print(cmath.inf) # inf print(cmath.infj) # infj print(cmath.nan) # nan print(cmath.nanj) # nanj

Результат выполнения программы

3.141592653589793 2.718281828459045 6.283185307179586 inf infj nan nanj

Связанные темы

  • Функции преобразования в полярные координати и наоборот. Степенные и логарифмические функции
  • Тригонометрические функции. Гиперболические функции. Функции классификаций

Функция complex() в Python

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

class complex([real[, imag]])

Вот некоторые из важных моментов, которые следует помнить при использовании функции complex():

  • Функция возвращает комплексное число со значением real + imag * 1j.
  • Мы можем преобразовать строку в комплексное число с помощью функции complex(). Если первый аргумент является строкой, второй аргумент не допускается.
  • При преобразовании строки в комплексное число пробелы в строке не допускаются. Например, «1 + 2j» подходит, а «1 + 2j» – нет.
  • Если аргумент не передан, возвращается 0j.
  • Входные аргументы могут быть в любом числовом формате, таком как шестнадцатеричный, двоичный и т.д.
  • Подчеркивание в числовых литералах также разрешено начиная с Python 3.6, см. PEP 515.

Примеры

Давайте посмотрим на некоторые примеры функций complex().

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

c = complex() print(type(c)) print(c)

С числовыми аргументами

c = complex(1, 1) print(c) c = complex(1.5, -2.1) print(c) c = complex(0xF) # hexadecimal print(c) c = complex(0b1010, -1) # binary print(c)
(1+1j) (1.5-2.1j) (15+0j) (10-1j)

С числовыми аргументами

С цифровыми литералами подчеркивания

c = complex(10_000_000.0, -2) print(c)

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

c = 1 + 2j c = complex(c, -4) print(c) c = complex(1+2j, 1+2J) print(c)
(1-2j) (-1+3j)

Обратите внимание, как сложные литералы объединяются в новое комплексное число в Python. Если второй аргумент – комплексное число, то расчет другой.

Со строковыми аргументами

c = complex("1+2j") print(c)

Посмотрим, что произойдет, если во входной строке есть пробелы.

c = complex("1 + 2j")

Вывод: ValueError: complex() arg – неверно сформированная строка.

Давайте посмотрим, что произойдет, если первый аргумент является строкой, а второй аргумент также указан.

c = complex("1+j", 2)

Вывод: TypeError: complex() не может принимать второй аргумент, если первый является строкой.

Что, если мы попробуем передать второй аргумент, как String, посмотрим, какую ошибку мы получим.

c = complex(2, "-2j")

Вывод: TypeError: complex() второй аргумент не может быть строкой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *