7.2.2 Long Integer Objects

`PyLongObject`-
This subtype of
`PyObject`represents a Python long integer object.

- PyTypeObject
`PyLong_Type` -
This instance of
`PyTypeObject`represents the Python long integer type. This is the same object as`types.LongType`

.

- int
(`PyLong_Check``PyObject *p`) -
Returns true if its argument is a
`PyLongObject`or a subtype of`PyLongObject`. Changed in version 2.2: Allowed subtypes to be accepted.

- int
(`PyLong_CheckExact``PyObject *p`) -
Returns true if its argument is a
`PyLongObject`, but not a subtype of`PyLongObject`. New in version 2.2.

- PyObject*
(`PyLong_FromLong``long v`) -
Return value: New reference.Returns a new
`PyLongObject`object from`v`, or`NULL`on failure.

- PyObject*
(`PyLong_FromUnsignedLong``unsigned long v`) -
Return value: New reference.Returns a new
`PyLongObject`object from a C`unsigned long`, or`NULL`on failure.

- PyObject*
(`PyLong_FromLongLong``long long v`) -
Return value: New reference.Returns a new
`PyLongObject`object from a C`long long`, or`NULL`on failure.

- PyObject*
(`PyLong_FromUnsignedLongLong``unsigned long long v`) -
Return value: New reference.Returns a new
`PyLongObject`object from a C`unsigned long long`, or`NULL`on failure.

- PyObject*
(`PyLong_FromDouble``double v`) -
Return value: New reference.Returns a new
`PyLongObject`object from the integer part of`v`, or`NULL`on failure.

- PyObject*
(`PyLong_FromString``char *str, char **pend, int base`) -
Return value: New reference.Return a new
`PyLongObject`based on the string value in`str`, which is interpreted according to the radix in`base`. If`pend`is non-`NULL`,`*`

will point to the first character in`pend``str`which follows the representation of the number. If`base`is`0`

, the radix will be determined base 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.

- PyObject*
(`PyLong_FromUnicode``Py_UNICODE *u, int length, int base`) -
Return value: New reference.Convert a sequence of Unicode digits to a Python long integer value. The first parameter,
`u`, points to the first character of the Unicode string,`length`gives the number of characters, and`base`is the radix for the conversion. The radix must be in the range [2, 36]; if it is out of range,`ValueError`will be raised. New in version 1.6.

- PyObject*
(`PyLong_FromVoidPtr``void *p`) -
Return value: New reference.Create a Python integer or long integer from the pointer
`p`. The pointer value can be retrieved from the resulting value using`PyLong_AsVoidPtr()`. New in version 1.5.2.

- long
(`PyLong_AsLong``PyObject *pylong`) -
Returns a C
`long`representation of the contents of`pylong`. If`pylong`is greater than`LONG_MAX`an`OverflowError`is raised.

- unsigned long
(`PyLong_AsUnsignedLong``PyObject *pylong`) -
Returns a C
`unsigned long`representation of the contents of`pylong`. If`pylong`is greater than`ULONG_MAX`an`OverflowError`is raised.

- long long
(`PyLong_AsLongLong``PyObject *pylong`) -
Return a C
`long long`from a Python long integer. If`pylong`cannot be represented as a`long long`, an`OverflowError`will be raised. New in version 2.2.

- unsigned long long
(`PyLong_AsUnsignedLongLong``PyObject *pylong`) -
Return a C
`unsigned long long`from a Python long integer. If`pylong`cannot be represented as an`unsigned long long`, an`OverflowError`will be raised if the value is positive, or a`TypeError`will be raised if the value is negative. New in version 2.2.

- double
(`PyLong_AsDouble``PyObject *pylong`) -
Returns a C
`double`representation of the contents of`pylong`. If`pylong`cannot be approximately represented as a`double`, an`OverflowError`exception is raised and`-1.0`

will be returned.

- void*
(`PyLong_AsVoidPtr``PyObject *pylong`) -
Convert a Python integer or long integer
`pylong`to a C`void`pointer. If`pylong`cannot be converted, an`OverflowError`will be raised. This is only assured to produce a usable`void`pointer for values created with`PyLong_FromVoidPtr()`. New in version 1.5.2.

See