复数对象

从 C API 看,Python 的复数对象被实现为两种不同的类型:一种是暴露给 Python 程序的 Python 对象,另一种是代表实际复数值的 C 结构。该 API 提供了可同时使用两者的Function。

复数作为 C 结构

注意,接受这些结构作为参数并返回它们作为结果的函数这样做是“按值” *,而不是pass指针对其进行反引用。这在整个 API 中都是一致的。

typedef struct {
   double real;
   double imag;
} Py_complex;

如果* divisor *为 null,则此方法返回零,并将errno设置为EDOM

如果* num 为 null 且 exp *不是正实数,则此方法返回零并将errno设置为EDOM

复数作为 Python 对象

在版本 2.2 中更改:接受允许的子类型。

2.2 版中的新Function。

从 C Py_complex值创建一个新的 Python 复数对象。

从* real imag *返回一个新的PyComplexObject对象。

在 2.6 版中进行了更改:如果* op 不是 Python 复数对象,但是具有complex()方法,则将首先调用此方法以将 op *转换为 Python 复数对象。

首页