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.