Объекты комплексных чисел
Объекты комплексных чисел Python реализованы как два разных типа, если рассматривать их с точки зрения C API: один — это объект Python, предоставляемый программам Python, а другой — C-структура, представляющая фактическое значение комплексного числа. API предоставляет функции для работы с обоими типами.
Комплексные числа как C-структуры
Обратите внимание, что функции, принимающие эти структуры в качестве параметров и возвращающие их в качестве результатов, делают это по значению, а не ссылаясь на них через указатели. Это согласуется со всем API.
-
type Py_complex C-структура, которая соответствует части значения объекта комплексного числа Python. Большинство функций для работы с объектами комплексных чисел используют структуры этого типа в качестве входных или выходных значений, как это уместно. Она определена как:
typedef struct { double real; double imag; } Py_complex;
-
Py_complex _Py_c_sum(Py_complex left, Py_complex right) Возвращает сумму двух комплексных чисел, используя C-представление
Py_complex.
-
Py_complex _Py_c_diff(Py_complex left, Py_complex right) Возвращает разность двух комплексных чисел, используя C-представление
Py_complex.
-
Py_complex _Py_c_neg(Py_complex num) Возвращает отрицание комплексного числа num, используя C-представление
Py_complex.
-
Py_complex _Py_c_prod(Py_complex left, Py_complex right) Возвращает произведение двух комплексных чисел, используя C-представление
Py_complex.
-
Py_complex _Py_c_quot(Py_complex dividend, Py_complex divisor) Возвращает частное двух комплексных чисел, используя C-представление
Py_complex.Если divisor равно null, этот метод возвращает ноль и устанавливает
errnoвEDOM
-
Py_complex _Py_c_pow(Py_complex num, Py_complex exp) Возвращает возведение в степень num в степень exp, используя C-представление
Py_complex.Если num равно null и exp не является положительным действительным числом, этот метод возвращает ноль и устанавливает
errnoвEDOM
Комплексные числа как объекты Python
-
type PyComplexObject Этот подтип
PyObjectпредставляет собой объект комплексного числа Python.
-
PyTypeObject PyComplex_Type - Часть Стабильной ABI.
Эта инстанция
PyTypeObjectпредставляет тип комплексного числа Python. Это тот же объект, что иcomplexна уровне Python.
-
int PyComplex_Check(PyObject *p) Возвращает true, если его аргумент является
PyComplexObjectили подтипомPyComplexObject. Эта функция всегда выполняется успешно.
-
int PyComplex_CheckExact(PyObject *p) Возвращает true, если его аргумент является
PyComplexObject, но не подтипомPyComplexObject. Эта функция всегда выполняется успешно.
-
PyObject *PyComplex_FromCComplex(Py_complex v) - Возвращаемое значение: новая ссылка.
Создаёт новый объект комплексного числа Python из значения C
Py_complex.
-
PyObject *PyComplex_FromDoubles(double real, double imag) - Возвращаемое значение: новая ссылка. Часть Стабильной ABI.
Возвращает новый объект
PyComplexObjectиз real и imag.
-
double PyComplex_RealAsDouble(PyObject *op) - Часть Стабильной ABI.
Возвращает вещественную часть op как C
double
-
double PyComplex_ImagAsDouble(PyObject *op) - Часть Стабильной ABI.
Возвращает мнимую часть op как C
double
-
Py_complex PyComplex_AsCComplex(PyObject *op) Возвращает значение
Py_complexкомплексного числа op.Если op не является объектом комплексного числа Python, но имеет метод
__complex__(), этот метод будет сначала вызван для преобразования op в объект комплексного числа Python. Если__complex__()не определён, то используется__float__(). Если__float__()не определён, то используется__index__(). В случае неудачи этот метод возвращает-1.0как вещественное значение.Изменено в версии 3.8: Используется
__index__(), если доступно.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/c-api/complex.html