浮点数对象

PyFloatObject

这个C类型 PyObject 的子类型代表一个Python浮点数对象。

PyTypeObject PyFloat_Type

这是个属于C类型 PyTypeObject 的代表Python浮点类型的实例。在Python层面的类型 float 是同一个对象。

int PyFloat_Check(PyObject *p)

当他的参数是一个C类型 PyFloatObject 或者是C类型 PyFloatObject 的子类型时,返回真。

int PyFloat_CheckExact(PyObject *p)

当他的参数是一个C类型 PyFloatObject 但不是C类型 PyFloatObject 的子类型时,返回真。

PyObject* PyFloat_FromString(PyObject *str)
Return value: New reference.

根据字符串 str 的值,创建一个C类型 PyFloatObject 对象,失败时返回 NULL

PyObject* PyFloat_FromDouble(double v)
Return value: New reference.

根据 v 创建一个C类型 PyFloatObject 对象,失败时返回 NULL

double PyFloat_AsDouble(PyObject *pyfloat)

返回一个代表 pyfloat 内容的C类型 double。如果 float 不是一个Python浮点数对象,但是包含 __float__() 方法,这个方法会首先被调用,将 pyfloat 转换成一个浮点数。失败时这个方法返回 -1.0,所以应该调用C函数 PyErr_Occurred() 检查错误。

double PyFloat_AS_DOUBLE(PyObject *pyfloat)

Return a C double representation of the contents of pyfloat, but without error checking.

PyObject* PyFloat_GetInfo(void)
Return value: New reference.

Return a structseq instance which contains information about the precision, minimum and maximum values of a float. It's a thin wrapper around the header file float.h.

double PyFloat_GetMax()

Return the maximum representable finite float DBL_MAX as C double.

double PyFloat_GetMin()

Return the minimum normalized positive float DBL_MIN as C double.

int PyFloat_ClearFreeList()

Clear the float free list. Return the number of items that could not be freed.