On this page
普通整数对象
PyIntObject
- PyObject的子类型表示 Python 整数对象。
PyTypeObject
PyInt_Type
- PyTypeObject的此实例表示 Python 普通整数类型。这是与
int
和types.IntType
相同的对象。
- PyTypeObject的此实例表示 Python 普通整数类型。这是与
- int
PyInt_Check
(PyObject ** o *)- 如果* o *的类型为PyInt_Type或子类型PyInt_Type,则返回 true。
在版本 2.2 中更改:接受允许的子类型。
- int
PyInt_CheckExact
(PyObject ** o *)- 如果* o *的类型为PyInt_Type,而不是PyInt_Type的子类型,则返回 true。
2.2 版中的新Function。
- PyObject *
PyInt_FromString
(char *str ,char * pend *,int * base *)- 返回值:新参考.
根据* str 中的字符串值返回一个新的PyIntObject或PyLongObject,该字符串值根据 base 中的基数进行解释。如果 pend 不为 NULL ,*pend
将指向 str 中的第一个字符,该字符紧随数字的表示。如果 base 为0
,则基数将根据 str 的前导字符确定:如果 str 以'0x'
或'0X'
开头,则将使用基数 16;否则,将使用基数 16.如果 str 以'0'
开头,则将使用基数 8;否则将使用基数 10.如果 base 不是0
,则它必须在2
和36
之间(包括两者)。前导空格将被忽略。如果没有数字,将加ValueError。如果字符串表示的数字太大而无法包含在机器的long int
类型中,并且溢出警告被抑制,则将返回PyLongObject。如果未禁止溢出警告,则在这种情况下将返回 NULL *。
- PyObject *
PyInt_FromLong
(长* ival *)- 返回值:新参考.
创建一个新的整数对象,其值为* ival *。
当前的实现为-5
和256
之间的所有整数保留一个整数对象数组,当您在该范围内创建 int 时,实际上只是返回对现有对象的引用。因此应该可以更改1
的值。我怀疑在这种情况下,Python 的行为是不确定的。 :-)
- PyObject *
PyInt_FromSsize_t
(Py_ssize_t * ival *)- 返回值:新参考.
创建一个新的整数对象,其值为* ival *。如果该值大于LONG_MAX
或小于LONG_MIN
,则返回一个长整数对象。
2.5 版的新Function。
- PyObject *
PyInt_FromSize_t
(size_t * ival *)- 创建一个新的整数对象,其值为* ival *。如果该值超过
LONG_MAX
,则返回一个长整数对象。
- 创建一个新的整数对象,其值为* ival *。如果该值超过
2.5 版的新Function。
长
PyInt_AsLong
(PyObject ** io *)- 将首先try将对象转换为PyIntObject,如果还不是一个,则返回其值。如果存在错误,则返回
-1
,并且调用方应检查PyErr_Occurred()
以确定是否存在错误,或者该值是否恰好是-1
。
- 将首先try将对象转换为PyIntObject,如果还不是一个,则返回其值。如果存在错误,则返回
长
PyInt_AS_LONG
(PyObject ** io *)- 返回对象* io *的值。不执行错误检查。
无符号长
PyInt_AsUnsignedLongMask
(PyObject ** io *)- 将首先try将对象转换为PyIntObject或PyLongObject(如果尚未转换为对象),然后将其值返回为 unsigned long。此Function不检查溢出。
2.3 版的新Function。
- 未签名的 PY_LONG_LONG
PyInt_AsUnsignedLongLongMask
(PyObject ** io *)- 将首先try将对象转换为PyIntObject或PyLongObject(如果尚未转换为对象),然后将其值返回为 unsigned long long,而不检查是否溢出。
2.3 版的新Function。
- Py_ssize_t
PyInt_AsSsize_t
(PyObject ** io *)- 将首先try将对象转换为PyIntObject或PyLongObject(如果尚未转换为该对象),然后将其值返回为
Py_ssize_t
。
- 将首先try将对象转换为PyIntObject或PyLongObject(如果尚未转换为该对象),然后将其值返回为
2.5 版的新Function。
- 长
PyInt_GetMax
()- 返回系统可以处理的最大整数的概念(
LONG_MAX
,如系统头文件中所定义)。
- 返回系统可以处理的最大整数的概念(
- int
PyInt_ClearFreeList
()- 清除整数自由列表。返回无法释放的项目数。
2.6 版的新Function。