Beim Definieren einer Funktion in reinem Python ist ihre Signatur beim Aufruf von help
sichtbar. Zum Beispiel:Angeben der Python-Funktionssignatur in C/API
>>> def hello(name):
... """Greet somebody."""
... print "Hello " + name
...
>>> help(hello)
Help on function hello in module __main__:
hello(name)
Greet somebody.
>>>
Wenn eine Python-Funktion in C/API definiert, allerdings fehlt es seine Unterschrift grundlegende Informationen:
static PyObject*
mod_hello(PyObject* self, PyObject* args)
{
const char* name;
if (!PyArg_ParseTuple(args, "s", &name))
return NULL;
printf("Hello %s\n", name);
Py_RETURN_NONE;
}
static PyMethodDef HelloMethods[] =
{
{"hello", mod_hello, METH_VARARGS, "Greet somebody."},
{NULL, NULL, 0, NULL}
};
Dies ergibt:
>>> help(hello)
Help on built-in function hello in module hello:
hello(...)
Greet somebody.
Irgendwelche Ideen, wie in C/API, um die Signatur von hello(...)
zu hello(name)
zu ändern?
Ich nehme an, Sie lesen http://StackOverflow.com/Questions/1104823/Python-Creative-Method-Signatures-For-Documentation? – boardrider