Python C API return more than one value / object without building a tuple [migrated]
- by Grisu
I got the following problem. I have written a C-Extension to Python(2.7 / 3.2) to interface a self written software library. Unfortunately I need to return two values from the function where the last one is optional. In Python I tried
def func(x,y):
return x+y, x-y
test = func(13,4)
but test is a tuple. If I write
test1,test2 = func(13,4)
I got both values separated. Is there a possibility to return only one value without unpacking the tuple, i.e. the second(,.. third, ..fourth) value gets neglected?
And if such a solution existst, how does it look for the C-API? Because
return Py_BuildValue("ii",x+y,x-y);
results in a tuple as well.