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

Что делает функция 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 в Python

Комплексное число тип complex состоит из двух чисел с плавающей точкой, представляющих соответственно его действительную и мнимую части. Доступ к обеим частям комплексного объекта x обеспечивают атрибуты x. real и x. imag , доступные только для чтения. Мнимый литерал можно задать с помощью числа с плавающей точкой или десятичного дробного числа с фиксированной точностью с добавлением в конец буквы j или J , в результате получим комплексное число с нулевой вещественной частью, которое можно добавить к целому числу или числу с плавающей точкой, чтобы получить комплексное число с действительными и мнимыми частями.

# Варианты записи комплексных чисел >>> 0j, 0.j, 0.3j, .8j, 1j, 2.j, 1.+3j, 1e1+2J, 1.e-3+1j, 1.5e+4+2j, 1.5e+4+78.1e-1J # (0j, 0j, 0.3j, 0.8j, 1j, 2j, (1+3j), (10+2J), (0.001+1j), (15000+2j), (15000+7.81J)) >>> x = 78.1e-1j # мнимая часть >>> x = x + 1.5e+4 # складываем в вещественным числом >>> x # (15000+7.81j) >>> x.real # 15000.0 >>> x.imag # 7.81 

Буква j в конце литерала обозначает квадратный корень из -1 . Например, комплексное число, равное единице, можно представить как 1+0j или 1.0+0.0j . Python выполнит операцию сложения или вычитания во время компиляции.

  • из арифметических операций недоступны // — деление без остатка , % — остаток от деления, int() , float() , divmod() .
  • из операции сравнения недоступны x < y , x y и x >= y .

Тип complex в языке Python представлен классом complex() , он позволяет:

  • создать комплексное число со значением переданных аргументов: действительной и мнимой частью
  • преобразовать строку с записью комплексного числа в комплексное число.
Примеры использования создания комплексных чисел и преобразования объектов к типу complex :
>>> 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 тип из строки # обратите внимание на пробелы в аргументах >>> 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) 
  • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
  • Утиная типизация ‘Duck Typing’
  • Что такое вызываемый объект callable?
  • Как проверить тип переменной/объекта
  • Логический тип данных bool
  • Целые числа int
  • Ограничение длины преобразования целочисленной строки
  • Вещественные числа float
  • Комплексные числа complex
  • Типы последовательностей
  • Список list
  • Кортеж tuple
  • Диапазон range
  • Текстовые строки str
  • Словарь dict
  • Множество set и frozenset
  • Итератор Iterator, протокол итератора
  • Генератор generator и выражение yield
  • Контекстный менеджер with
  • Байтовые строки bytes
  • Байтовый массив bytearray
  • Тип memoryview, буфер обмена
  • Файловый объект file object
  • Универсальный псевдоним GenericAlias
  • Объект объединения Union

Числа: целые, вещественные, комплексные

Python 3 логотип

Числа в Python 3: целые, вещественные, комплексные. Работа с числами и операции над ними.

Целые числа (int)

Числа в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций:

x + y Сложение
x — y Вычитание
x * y Умножение
x / y Деление
x // y Получение целой части от деления
x % y Остаток от деления
-x Смена знака числа
abs(x) Модуль числа
divmod(x, y) Пара (x // y, x % y)
x ** y Возведение в степень
pow(x, y[, z]) x y по модулю (если модуль задан)

Также нужно отметить, что целые числа в python 3, в отличие от многих других языков, поддерживают длинную арифметику (однако, это требует больше памяти).

Над целыми числами также можно производить битовые операции

x | y Побитовое или
x ^ y Побитовое исключающее или
x & y Побитовое и
x

Битовый сдвиг влево
x >> y Битовый сдвиг вправо
~x Инверсия битов

Дополнительные методы

int.bit_length() — количество бит, необходимых для представления числа в двоичном виде, без учёта знака и лидирующих нулей.

 int.to_bytes(length, byteorder, *, signed=False) - возвращает строку байтов, представляющих это число.
 int.from_bytes(bytes, byteorder, *, signed=False) - возвращает число из данной строки байтов.

Те, у кого в школе была информатика, знают, что числа могут быть представлены не только в десятичной системе счисления. К примеру, в компьютере используется двоичный код, и, к примеру, число 19 в двоичной системе счисления будет выглядеть как 10011. Также иногда нужно переводить числа из одной системы счисления в другую. Python для этого предоставляет несколько функций:

  • int([object], [основание системы счисления]) — преобразование к целому числу в десятичной системе счисления. По умолчанию система счисления десятичная, но можно задать любое основание от 2 до 36 включительно.
  • bin(x) — преобразование целого числа в двоичную строку.
  • hex(х) — преобразование целого числа в шестнадцатеричную строку.
  • oct(х) — преобразование целого числа в восьмеричную строку.

Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам:

 Для высокой точности используют другие объекты (например Decimal и Fraction)).

Также вещественные числа не поддерживают длинную арифметику:

Простенькие примеры работы с числами:

float.as_integer_ratio() — пара целых чисел, чьё отношение равно этому числу.

float.is_integer() — является ли значение целым числом.

float.hex() — переводит float в hex (шестнадцатеричную систему счисления).

classmethod float.fromhex(s) — float из шестнадцатеричной строки.

  Помимо стандартных выражений для работы с числами (а в Python их не так уж и много), в составе Python есть несколько полезных модулей.

Модуль math предоставляет более сложные математические функции.

 

В Python встроены также и комплексные числа:

     : complex()   Для работы с комплексными числами используется также модуль cmath.

Для вставки кода на Python в комментарий заключайте его в теги

  • Модуль csv - чтение и запись CSV файлов
  • Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
  • Онлайн-обучение Python: сравнение популярных программ
  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов
  • Сделай свой вклад в развитие сайта!
  • Самоучитель Python
  • Карта сайта
  • Отзывы на книги по Python
  • Реклама на сайте

Функция 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 не будет опубликован. Обязательные поля помечены *