LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 149|回复: 0

表示复数的Python对象

[复制链接]
发表于 2024-1-26 17:53:55 | 显示全部楼层 |阅读模式

type PyComplexObject
这个C类型 PyObject 的子类型代表一个 Python 复数对象。

PyTypeObject PyComplex_Type
属于 稳定 ABI.
这是个属于 PyTypeObject 的代表Python复数类型的实例。在Python层面的类型 complex 是同一个对象。

int PyComplex_Check(PyObject *p)
如果它的参数是一个 PyComplexObject 或者 PyComplexObject 的子类型则返回真值。 此函数总是会成功执行。

int PyComplex_CheckExact(PyObject *p)
如果它的参数是一个 PyComplexObject 但不是 PyComplexObject 的子类型则返回真值。 此函数总是会成功执行。

PyObject *PyComplex_FromCComplex(Py_complex v)
返回值:新的引用。
根据C类型 Py_complex 的值生成一个新的Python复数对象。

PyObject *PyComplex_FromDoubles(double real, double imag)
返回值:新的引用。 属于 稳定 ABI.
根据 real 和 imag 返回一个新的C类型 PyComplexObject 对象。

double PyComplex_RealAsDouble(PyObject *op)
属于 稳定 ABI.
以 C 类型 double 返回 op 的实部。

double PyComplex_ImagAsDouble(PyObject *op)
属于 稳定 ABI.
以 C 类型 double 返回 op 的虚部。

Py_complex PyComplex_AsCComplex(PyObject *op)
返回复数 op 的C类型 Py_complex 值。

如果 op 不是一个 Python 复数对象但是具有 __complex__() 方法,则会先调用该方法将 op 转换为 Python 复数对象。 如果 __complex__() 未定义则将回退至 __float__()。 如果 __float__() 未定义则将回退至 __index__()。 当失败时,该方法将返回实数值 -1.0。

在 3.8 版本发生变更: 如果可能将使用 __index__()。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表