[Python-Dev] PyObject_CallFunction(func, "O", arg) special case

Serhiy Storchaka storchaka at gmail.com
Sat Dec 10 01:43:57 EST 2016

On 09.12.16 19:46, Victor Stinner wrote:
> The PyObject_CallFunction() function has a special case when the
> format string is "O", to pass exactly one Python object:
> * If the argument is a tuple, the tuple is unpacked: it behaves like func(*arg)
> * Otherwise, it behaves like func(arg)
> This case is not documented in the C API !
> https://docs.python.org/dev/c-api/object.html#c.PyObject_CallFunction

It is documented for Py_BuildValue(), and the documentation of 
PyObject_CallFunction() refers to Py_BuildValue().

I just found that in spite of your changes of parameter names, the 
documentation still have old names:

     PyObject* PyObject_CallMethod(PyObject *o, const char *method, 
const char *format, ...)

More information about the Python-Dev mailing list