Документация Python неофициальный перевод

Обычные целочисленные объектыPlain Integer Objects

PyIntObject
Этот подтип PyObject представляет целочисленный объект Python.
PyTypeObject PyInt_Type

Этот экземпляр PyTypeObject представляет тип обычного целого числа Python. Это тот же объект, что и int и types.IntType.

int PyInt_Check(PyObject *o)

Возвращает истину, если o имеет тип PyInt_Type или является подтипом PyInt_Type.

Изменено в версии 2.2: Теперь допускаются подтипы.

int PyInt_CheckExact(PyObject *o)

Возвращает истину, если o имеет тип PyInt_Type, но не является подтипом PyInt_Type.

Новое в версии 2.2.

PyObject* PyInt_FromString(char *str, char **pend, int base)
Возвращаемое значение: новая ссылка.

Возвращает новый PyIntObject или PyLongObject на основе строкового значения в str, которое интерпретируется в соответствии с основанием в base. Если pend не является NULL, *pend будет указывать на первый символ в str, который следует за представлением числа. Если base равно 0, основание будет определено на основе начальных символов str: если str начинается с '0x' или '0X', будет использоваться основание 16; если str начинается с '0', будет использоваться основание 8; в противном случае – основание 10. Если base не равно 0, оно должно находиться в диапазоне от 2 до 36 включительно. Начальные пробелы игнорируются. Если нет цифр, будет возбуждено ValueError. Если строка представляет число, слишком большое для типа long int данной машины и предупреждения о переполнении подавлены, будет возвращён PyLongObject. Если предупреждения о переполнении не подавлены, в этом случае будет возвращён NULL.

PyObject* PyInt_FromLong(long ival)
Возвращаемое значение: новая ссылка.

Создает новый целочисленный объект со значением ival.

Текущая реализация хранит массив объектов целых чисел для всех целых чисел между -5 и 256. Когда создаётся int в этом диапазоне, фактически возвращается ссылка на существующий объект. Поэтому изменение значения 1 должно быть возможным. Поведение Python в этом случае, вероятно, не определено. :-)

PyObject* PyInt_FromSsize_t(Py_ssize_t ival)
Возвращаемое значение: новая ссылка.

Создаёт новый объект целого числа со значением ival. Если значение больше LONG_MAX или меньше LONG_MIN, возвращается объект длинного целого числа.

Новое в версии 2.5.

PyObject* PyInt_FromSize_t(size_t ival)

Создаёт новый объект целого числа со значением ival. Если значение превышает LONG_MAX, возвращается объект длинного целого числа.

Новое в версии 2.5.

long PyInt_AsLong(PyObject *io)
Сначала пытается привести объект к типу PyIntObject, если он ещё не является таковым, а затем возвращает его значение. Если произошла ошибка, возвращается -1, и вызывающий код должен проверить PyErr_Occurred(), чтобы выяснить, была ли ошибка или значение просто оказалось равным -1.
long PyInt_AS_LONG(PyObject *io)
Возвращает значение объекта io. Проверка ошибок не выполняется.
unsigned long PyInt_AsUnsignedLongMask(PyObject *io)

Сначала пытается привести объект к типу PyIntObject или PyLongObject, если он ещё не является таковым, а затем возвращает его значение как unsigned long. Эта функция не проверяет переполнение.

Новое в версии 2.3.

unsigned PY_LONG_LONG PyInt_AsUnsignedLongLongMask(PyObject *io)

Сначала пытается привести объект к типу PyIntObject или PyLongObject, если он ещё не является таковым, а затем возвращает его значение как unsigned long long, без проверки переполнения.

Новое в версии 2.3.

Py_ssize_t PyInt_AsSsize_t(PyObject *io)

Сначала пытается привести объект к типу PyIntObject или PyLongObject, если он ещё не является таковым, а затем возвращает его значение как Py_ssize_t.

Новое в версии 2.5.

long PyInt_GetMax()

Возвращает максимальное целое число, которое может обработать система (LONG_MAX, как определено в системных заголовочных файлах).

int PyInt_ClearFreeList()

Очищает список свободных целых чисел. Возвращает количество элементов, которые не удалось освободить.

Новое в версии 2.6.