Return a new tuple object of size n, or NULL on failure. The tuple values
are initialized to the subsequent n C arguments pointing to Python objects.
PyTuple_Pack(2,a,b) is equivalent to Py_BuildValue("(OO)",a,b).
Like PyTuple_SetItem, but does no error checking, and should only be
used to fill in brand new tuples.
This function “steals” a reference to o.
int _PyTuple_Resize(PyObject **p, Py_ssize_t 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.