PyIntObject
PyObject
represents a Python integer object.PyInt_Type
PyTypeObject
represents the Python plain integer type. This is the same object as int
and types.IntType
.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.
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.
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.
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. :-)
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.
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.
PyInt_AsLong
(PyObject *io)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
.PyInt_AS_LONG
(PyObject *io)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.
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.
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.
PyInt_GetMax
()LONG_MAX
, as defined in the system header files).PyInt_ClearFreeList
()Clear the integer free list. Return the number of items that could not be freed.
New in version 2.6.