PyIntObject是否仍在python3.x源代码中?

时间:2018-07-13 08:26:57

标签: python-3.x

PyIntObject仍在python3.x源代码中,还是被PyLongObject取代了?我找不到以下代码:

typedef struct {
    PyObject_HEAD
    long ob_ival;
} PyIntObject;

1 个答案:

答案 0 :(得分:0)

来自https://docs.python.org/3.2/howto/cporting.html(统一长整型):

  

Python 3只有一种整数类型int()。但是它实际上对应于Python 2的long()类型-删除了Python 2中使用的int()类型。在C-API中,PyInt_ *函数被其等效的PyLong_ *代替。

这里最好的做法是使用intobject.h中别名为PyLong_ *的PyInt_ *函数。在某些情况下,也可以使用抽象的PyNumber_ * API。

也请检查以下讨论: How does Python manage int and long?