Plain Integer Objects - Python 2.7.18 documentation 编辑

PyIntObject

This subtype of PyObject represents a Python integer object.

PyTypeObject PyInt_Type

This instance of PyTypeObject represents the Python plain integer type. This is the same object as int and types.IntType.

int PyInt_Check(PyObject *o)

Return true if o is of type PyInt_Type or a subtype of PyInt_Type.

Changed in version 2.2: Allowed subtypes to be accepted.

int PyInt_CheckExact(PyObject *o)

Return true if o is of type PyInt_Type, but not a subtype of PyInt_Type.

New in version 2.2.

PyObject* PyInt_FromString(char *str, char **pend, int base)
Return value: New reference.

Return a new PyIntObject or PyLongObject based on the string value in str, which is interpreted according to the radix in base. If pend is non-NULL, *pend will point to the first character in str which follows the representation of the number. If base is 0, the radix will be determined based on the leading characters of str: if str starts with '0x' or '0X', radix 16 will be used; if str starts with '0', radix 8 will be used; otherwise radix 10 will be used. If base is not 0, it must be between 2 and 36, inclusive. Leading spaces are ignored. If there are no digits, ValueError will be raised. If the string represents a number too large to be contained within the machine’s long int type and overflow warnings are being suppressed, a PyLongObject will be returned. If overflow warnings are not being suppressed, NULL will be returned in this case.

PyObject* PyInt_FromLong(long ival)
Return value: New reference.

Create a new integer object with a value of ival.

The current implementation keeps an array of integer objects for all integers between -5 and 256, when you create an int in that range you actually just get back a reference to the existing object. So it should be possible to change the value of 1. I suspect the behaviour of Python in this case is undefined. :-)

PyObject* PyInt_FromSsize_t(Py_ssize_t ival)
Return value: New reference.

Create a new integer object with a value of ival. If the value is larger than LONG_MAX or smaller than LONG_MIN, a long integer object is returned.

New in version 2.5.

PyObject* PyInt_FromSize_t(size_t ival)

Create a new integer object with a value of ival. If the value exceeds LONG_MAX, a long integer object is returned.

New in version 2.5.

long PyInt_AsLong(PyObject *io)

Will first attempt to cast the object to a PyIntObject, if it is not already one, and then return its value. If there is an error, -1 is returned, and the caller should check PyErr_Occurred() to find out whether there was an error, or whether the value just happened to be -1.

long PyInt_AS_LONG(PyObject *io)

Return the value of the object io. No error checking is performed.

unsigned long PyInt_AsUnsignedLongMask(PyObject *io)

Will first attempt to cast the object to a PyIntObject or PyLongObject, if it is not already one, and then return its value as unsigned long. This function does not check for overflow.

New in version 2.3.

unsigned PY_LONG_LONG PyInt_AsUnsignedLongLongMask(PyObject *io)

Will first attempt to cast the object to a PyIntObject or PyLongObject, if it is not already one, and then return its value as unsigned long long, without checking for overflow.

New in version 2.3.

Py_ssize_t PyInt_AsSsize_t(PyObject *io)

Will first attempt to cast the object to a PyIntObject or PyLongObject, if it is not already one, and then return its value as Py_ssize_t.

New in version 2.5.

long PyInt_GetMax()

Return the system’s idea of the largest integer it can handle (LONG_MAX, as defined in the system header files).

int PyInt_ClearFreeList()

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

New in version 2.6.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:46 次

字数:6354

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文