मैं सी एक्सटेंशन लिख रहा हूं, और मैं आत्मनिरीक्षण के लिए दृश्यमान तरीकों का हस्ताक्षर बनाना चाहता हूं।पायथन सी एक्सटेंशन: दस्तावेज़ीकरण के लिए विधि हस्ताक्षर?
static PyObject* foo(PyObject *self, PyObject *args) {
/* blabla [...] */
}
PyDoc_STRVAR(
foo_doc,
"Great example function\n"
"Arguments: (timeout, flags=None)\n"
"Doc blahblah doc doc doc.");
static PyMethodDef methods[] = {
{"foo", foo, METH_VARARGS, foo_doc},
{NULL},
};
PyMODINIT_FUNC init_myexample(void) {
(void) Py_InitModule3("_myexample", methods, "a simple example module");
}
अब
अगर मैं मॉड्यूल लोड और इसकी मदद को देखो (यह निर्माण ... के बाद):
>>> import _myexample
>>> help(_myexample)
मैं मिल जाएगा:
Help on module _myexample:
NAME
_myexample - a simple example module
FILE
/path/to/module/_myexample.so
FUNCTIONS
foo(...)
Great example function
Arguments: (timeout, flags=None)
Doc blahblah doc doc doc.
मैं होना चाहते हैं और भी विशिष्ट और foo (...)foo (टाइमआउट, झंडे = कोई नहीं)
को प्रतिस्थापित करने में सक्षम होक्या मैं यह कर सकता हूं? कैसे?
'inspect.signature' के साथ इस काम करता है? – Eric
@ एरिक हां, जब तक यह उपरोक्त वर्णित '__text_signature__' के नियमों का पालन करता है। – MSeifert
ऐसी चीज की तरह लगता है कि 'numpy' को – Eric