Complex Number Objects
pair: object; complex number
This subtype of
PyObjectrepresents a Python complex number object.The complex number value, using the C
Py_complexrepresentation.3.15 3.20 Use
PyComplex_AsCComplexandPyComplex_FromCComplexto convert a Python complex number to/from the CPy_complexrepresentation.
This instance of
PyTypeObjectrepresents the Python complex number type. It is the same object ascomplexin the Python layer.
Return true if its argument is a
PyComplexObjector a subtype ofPyComplexObject. This function always succeeds.
Return true if its argument is a
PyComplexObject, but not a subtype ofPyComplexObject. This function always succeeds.
Return a new
PyComplexObjectobject from real and imag. ReturnNULLwith an exception set on error.
Return the real part of op as a C
double.If op is not a Python complex number object but has a
~object.__complex__method, this method will first be called to convert op to a Python complex number object. If!__complex__is not defined then it falls back to callPyFloat_AsDoubleand returns its result.Upon failure, this method returns
-1.0with an exception set, so one should callPyErr_Occurredto check for errors.3.13 Use
~object.__complex__if available.
Return the imaginary part of op as a C
double.If op is not a Python complex number object but has a
~object.__complex__method, this method will first be called to convert op to a Python complex number object. If!__complex__is not defined then it falls back to callPyFloat_AsDoubleand returns0.0on success.Upon failure, this method returns
-1.0with an exception set, so one should callPyErr_Occurredto check for errors.3.13 Use
~object.__complex__if available.
This C structure defines an export format for a Python complex number object.
The structure is defined as:
typedef struct { double real; double imag; } Py_complex;
Create a new Python complex number object from a C
Py_complexvalue. ReturnNULLwith an exception set on error.
Return the
Py_complexvalue of the complex number op.If op is not a Python complex number object but has a
~object.__complex__method, this method will first be called to convert op to a Python complex number object. If!__complex__is not defined then it falls back to~object.__float__. If!__float__is not defined then it falls back to~object.__index__.Upon failure, this method returns
Py_complexwith~Py_complex.realset to-1.0and with an exception set, so one should callPyErr_Occurredto check for errors.3.8 Use
~object.__index__if available.
Complex Numbers as C Structures
The API also provides functions for working with complex numbers, using the Py_complex representation. Note that the functions which accept these structures as parameters and return them as results do so by value rather than dereferencing them through pointers.
Please note, that these functions are soft deprecated since Python 3.15. Avoid using this API in a new code to do complex arithmetic: either use the Number Protocol <number> API or use native complex types, like double complex.
Return the sum of two complex numbers, using the C
Py_complexrepresentation.3.15
Return the difference between two complex numbers, using the C
Py_complexrepresentation.3.15
Return the negation of the complex number num, using the C
Py_complexrepresentation.3.15
Return the product of two complex numbers, using the C
Py_complexrepresentation.3.15
Return the quotient of two complex numbers, using the C
Py_complexrepresentation.If divisor is null, this method returns zero and sets
errnoto!EDOM.3.15
Return the exponentiation of num by exp, using the C
Py_complexrepresentation.If num is null and exp is not a positive real number, this method returns zero and sets
errnoto!EDOM.Set
errnoto!ERANGEon overflows.3.15
Return the absolute value of the complex number num.
Set
errnoto!ERANGEon overflows.3.15
3.16 This function leaves
errnounchanged on success.
谢谢你的反馈!