Обычные целочисленные объекты¶Plain Integer Objects
-
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.
-
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.