March 2003
Intermediate to advanced
656 pages
39h 30m
English
PyArg_ParseTupleAndKeywords
int PyArg_ParseTupleAndKeywords(PyObject*tuple,PyObject*dict, char*format,char**kwlist,...)
Returns 0 for errors, a value not equal to
0 for success. tuple is
the PyObject* that was the C
function’s second argument.
dict is the PyObject*
that was the C function’s third argument.
format is like for
PyArg_ParseTuple, except that it cannot include
the (...) format code to parse nested sequences.
kwlist is an array of
char* terminated by a NULL
sentinel, with the names of the parameters, one after the other. For
example, the following C code:
static PyObject*
func_c(PyObject* self, PyObject* args, PyObject* kwds)
{
static char* argnames[] = {"x", "y", "z", NULL};
double x, y=0.0, z=0.0;
if(!PyArg_ParseTupleAndKeywords(
args,kwds,"d|dd",argnames,&x,&y,&z))
return NULL;
/* rest of function snipped */is roughly equivalent to this Python code:
def func_py(x, y=0.0, z=0.0):
x, y, z = map(float, (x,y,z))
# rest of function snippedRead now
Unlock full access