This subtype of PyObject represents a Python tuple object.
PyTypeObject PyTuple_Type
This instance of PyTypeObject represents the Python tuple
type; it is the same object as types.TupleType in the Python
layer..
int PyTuple_Check(
PyObject *p)
Return true if p is a tuple object or an instance of a subtype
of the tuple type.
Changed in version 2.2:
Allowed subtypes to be accepted.
int PyTuple_CheckExact(
PyObject *p)
Return true if p is a tuple object, but not an instance of a
subtype of the tuple type.
New in version 2.2.
PyObject* PyTuple_New(
int len)
Return value:New reference.
Return a new tuple object of size len, or NULL on failure.
int PyTuple_Size(
PyObject *p)
Takes a pointer to a tuple object, and returns the size of that
tuple.
int PyTuple_GET_SIZE(
PyObject *p)
Return the size of the tuple p, which must be non-NULL and
point to a tuple; no error checking is performed.
PyObject* PyTuple_GetItem(
PyObject *p, int pos)
Return value:Borrowed reference.
Returns the object at position pos in the tuple pointed to by
p. If pos is out of bounds, returns NULL and sets an
IndexError exception.
PyObject* PyTuple_GET_ITEM(
PyObject *p, int pos)
Return value:Borrowed reference.
Like PyTuple_GetItem(), but does no checking of its
arguments.
PyObject* PyTuple_GetSlice(
PyObject *p,
int low, int high)
Return value:New reference.
Takes a slice of the tuple pointed to by p from low to
high and returns it as a new tuple.
int PyTuple_SetItem(
PyObject *p,
int pos, PyObject *o)
Inserts a reference to object o at position pos of the
tuple pointed to by p. It returns 0 on success.
Note:
This function ``steals'' a reference to o.
void PyTuple_SET_ITEM(
PyObject *p,
int pos, PyObject *o)
Like PyTuple_SetItem(), but does no error checking, and
should only be used to fill in brand new tuples. Note:
This
function ``steals'' a reference to o.
int _PyTuple_Resize(
PyObject **p, int newsize)
Can be used to resize a tuple. newsize will be the new length
of the tuple. Because tuples are supposed to be immutable,
this should only be used if there is only one reference to the
object. Do not use this if the tuple may already be known to
some other part of the code. The tuple will always grow or shrink
at the end. Think of this as destroying the old tuple and creating
a new one, only more efficiently. Returns 0 on success.
Client code should never assume that the resulting value of
*p will be the same as before calling this function.
If the object referenced by *p is replaced, the
original *p is destroyed. On failure, returns
-1 and sets *p to NULL, and raises
MemoryError or
SystemError.
Changed in version 2.2:
Removed unused third parameter, last_is_sticky.