Объекты кортежей
-
type PyTupleObject -
Этот подтип
PyObjectпредставляет собой объект кортежа Python.
-
PyTypeObject PyTuple_Type -
Часть Стабильной ABI.
Этот экземпляр
PyTypeObjectпредставляет собой тип кортежа Python; он является тем же объектом, что иtupleв уровне Python.
-
int PyTuple_Check(PyObject *p) -
Возвращает true, если p является объектом кортежа или экземпляром подтипа типа кортежа. Эта функция всегда выполняется успешно.
-
int PyTuple_CheckExact(PyObject *p) -
Возвращает true, если p является объектом кортежа, но не экземпляром подтипа типа кортежа. Эта функция всегда выполняется успешно.
-
PyObject *PyTuple_New(Py_ssize_t len) -
Значение возврата: Новый ссылка. Часть Стабильной ABI.
Возвращает новый объект кортежа размера len, или
NULLпри ошибке.
-
PyObject *PyTuple_Pack(Py_ssize_t n, ...) -
Значение возврата: Новый ссылка. Часть Стабильной ABI.
Возвращает новый объект кортежа размера n, или
NULLпри ошибке. Значения кортежа инициализируются последующими n C-аргументами, указывающими на объекты Python.PyTuple_Pack(2, a, b)эквивалентноPy_BuildValue("(OO)", a, b).
-
Py_ssize_t PyTuple_Size(PyObject *p) -
Часть Стабильной ABI.
Принимает указатель на объект кортежа и возвращает размер этого кортежа.
-
Py_ssize_t PyTuple_GET_SIZE(PyObject *p) -
Возвращает размер кортежа p, который должен быть не-
NULLи указывать на кортеж; проверка ошибок не выполняется.
-
PyObject *PyTuple_GetItem(PyObject *p, Py_ssize_t pos) -
Значение возврата: Заимствованная ссылка. Часть Стабильной ABI.
Возвращает объект в позиции pos в кортеже, на который указывает p. Если pos отрицательный или вне границ, возвращает
NULLи устанавливает исключениеIndexError.Возвращенная ссылка заимствована из кортежа p (т.е. она действительна только до тех пор, пока у вас есть ссылка на p). Чтобы получить сильную ссылку, используйте
Py_NewRef(PyTuple_GetItem(...))илиPySequence_GetItem().
-
PyObject *PyTuple_GET_ITEM(PyObject *p, Py_ssize_t pos) -
Значение возврата: Заимствованная ссылка.
Как
PyTuple_GetItem(), но не выполняет проверки аргументов.
-
PyObject *PyTuple_GetSlice(PyObject *p, Py_ssize_t low, Py_ssize_t high) -
Значение возврата: Новый ссылка. Часть Стабильной ABI.
Возвращает срез кортежа, на который указывает p, между low и high, или
NULLпри ошибке. Это эквивалентно выражению Pythonp[low:high]. Индексирование с конца кортежа не поддерживается.
-
int PyTuple_SetItem(PyObject *p, Py_ssize_t pos, PyObject *o) -
Часть Стабильной ABI.
Вставляет ссылку на объект o в позицию pos кортежа, на который указывает p. Возвращает
0при успехе. Если pos вне границ, возвращает-1и устанавливает исключениеIndexError.Примечание
Эта функция «крадет» ссылку на o и отбрасывает ссылку на элемент, уже присутствующий в кортеже в затронутой позиции.
-
void PyTuple_SET_ITEM(PyObject *p, Py_ssize_t pos, PyObject *o) -
Как
PyTuple_SetItem(), но не выполняет проверку ошибок и должна только использоваться для заполнения совершенно новых кортежей.Примечание
Эта функция «крадет» ссылку на o и, в отличие от
PyTuple_SetItem(), не отбрасывает ссылку на любой элемент, который заменяется; любая ссылка в кортеже в позиции pos будет потеряна.
-
int _PyTuple_Resize(PyObject **p, Py_ssize_t newsize) -
Может быть использована для изменения размера кортежа. newsize будет новой длиной кортежа. Поскольку кортежи предполагаются неизменяемыми, это следует использовать только в том случае, если на объект есть только одна ссылка. Не используйте это, если кортеж может быть уже известен какой-либо другой части кода. Кортеж всегда будет расти или уменьшаться в конце. Представьте это как уничтожение старого кортежа и создание нового, только более эффективно. Возвращает
0при успехе. Код клиента никогда не должен предполагать, что возвращаемое значение*pбудет таким же, как до вызова этой функции. Если объект, на который ссылается*p, заменен, исходный*pуничтожается. При ошибке возвращает-1и устанавливает*pвNULL, и вызываетMemoryErrorилиSystemError.
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/c-api/tuple.html