Integer Objects

所有整数都实现为任意大小的“长”整数对象。

错误时,大多数PyLong_As* API 返回(return type)-1,无法将其与数字区分开。使用PyErr_Occurred()消除歧义。

从* v *返回一个新的PyLongObject对象,如果失败则返回NULL

当前的实现为-5256之间的所有整数保留一个整数对象数组,当您在该范围内创建 int 时,实际上实际上是返回对现有对象的引用。因此应该可以更改1的值。我怀疑在这种情况下,Python 的行为是不确定的。 :-)

从 C unsigned long返回一个新的PyLongObject对象,如果失败则返回NULL

从 C Py_ssize_t返回一个新的PyLongObject对象,如果失败则返回NULL

从 C size_t返回一个新的PyLongObject对象,如果失败则返回NULL

从 C long long返回一个新的PyLongObject对象,如果失败则返回NULL

从 C unsigned long long返回一个新的PyLongObject对象,如果失败则返回NULL

从* v *的整数部分返回一个新的PyLongObject对象,如果失败则返回NULL

根据* str 中的字符串值返回一个新的PyLongObject,该字符串值根据 base 中的基数进行解释。如果 pend 不是NULL,则* pend 将指向 str 中的第一个字符,该字符紧随数字的表示。如果 base 0,则使用Integer literals定义解释 str ;在这种情况下,非零十进制数字中的前导零会引发ValueError。如果 base *不是0,则它必须介于236之间(包括_)。在基本说明符之后和数字之间的前导空格和单个下划线将被忽略。如果没有数字,将加ValueError

将 Unicode 数字序列转换为 Python 整数值。

从版本 3.3 开始不推荐使用,将在版本 3.10 中删除:老式Py_UNICODE API 的一部分;请迁移到使用PyLong_FromUnicodeObject()

将字符串* u *中的 Unicode 数字序列转换为 Python 整数值。

版本 3.3 中的新Function。

从指针* p *创建一个 Python 整数。可以使用PyLong_AsVoidPtr()从结果值中检索指针值。

如果* obj *的值超出long的范围,则提高OverflowError

错误返回-1。使用PyErr_Occurred()消除歧义。

在 3.8 版中进行了更改:如果可用,请使用index()

从 3.8 版开始不推荐使用:不建议使用int()

如果* obj *的值大于LONG_MAX或小于LONG_MIN,则分别将 overflow 设置为1-1,并返回-1;否则,将 overflow 设置为0。如果发生任何其他异常,将 overflow *设置为0并照常返回-1

错误返回-1。使用PyErr_Occurred()消除歧义。

在 3.8 版中进行了更改:如果可用,请使用index()

从 3.8 版开始不推荐使用:不建议使用int()

如果* obj *的值超出long long的范围,则提高OverflowError

错误返回-1。使用PyErr_Occurred()消除歧义。

在 3.8 版中进行了更改:如果可用,请使用index()

从 3.8 版开始不推荐使用:不建议使用int()

如果* obj *的值大于PY_LLONG_MAX或小于PY_LLONG_MIN,则分别将 overflow 设置为1-1,并返回-1;否则,将 overflow 设置为0。如果发生任何其他异常,将 overflow *设置为0并照常返回-1

错误返回-1。使用PyErr_Occurred()消除歧义。

3.2 版中的新Function。

在 3.8 版中进行了更改:如果可用,请使用index()

从 3.8 版开始不推荐使用:不建议使用int()

如果* pylong *的值超出Py_ssize_t的范围,则提高OverflowError

错误返回-1。使用PyErr_Occurred()消除歧义。

如果* pylong *的值超出unsigned long的范围,则提高OverflowError

错误返回(unsigned long)-1。使用PyErr_Occurred()消除歧义。

如果* pylong *的值超出size_t的范围,则提高OverflowError

错误返回(size_t)-1。使用PyErr_Occurred()消除歧义。

如果* pylong *的值超出unsigned long long的范围,请提高OverflowError

错误返回(unsigned long long)-1。使用PyErr_Occurred()消除歧义。

在版本 3.1 中进行了更改:现在,负* pylong *会引发OverflowError而不是TypeError

如果* obj *的值超出unsigned long的范围,则以ULONG_MAX + 1为模返回该值的减少量。

错误返回(unsigned long)-1。使用PyErr_Occurred()消除歧义。

在 3.8 版中进行了更改:如果可用,请使用index()

从 3.8 版开始不推荐使用:不建议使用int()

如果* obj *的值超出unsigned long long的范围,则以PY_ULLONG_MAX + 1为模返回该值的减少量。

错误返回(unsigned long long)-1。使用PyErr_Occurred()消除歧义。

在 3.8 版中进行了更改:如果可用,请使用index()

从 3.8 版开始不推荐使用:不建议使用int()

如果* pylong *的值超出double的范围,则提高OverflowError

错误返回-1.0。使用PyErr_Occurred()消除歧义。

错误返回NULL。使用PyErr_Occurred()消除歧义。

首页