我正在学习一下Sharma-C的延伸,并对为何必须用关键词来对待PyC的功能感到迷惑。
我对《常设机构》的理解是,它需要两点人来看待PyObjects,并将单一点人归为PyObject,例如。
PyObject* myFunc(PyObject* self, PyObject* args)
如果我会利用一个使用关键词句的功能,那么这一功能将有三个点人去标语,并将一位点人带回一个PyObject——例如。
PyObject* myFunc(PyObject* self, PyObject* args, PyObject* keywordArgs)
然而,当我设立单元功能阵列时(关于称为“添加器”的职能):
{ "adder", (PyCFunction)adder, METH_VARARGS | METH_KEYWORDS, "adder method" }
罚款。 它感到,像我这样一片浮舟,现在仍然不得不使用浮体中的非排他性部分。 如果我看不到这项工作的话,我会认为它不会奏效。 我在这里不理解什么?
此外,我还看到有人提到“PyCFunctionWithKeywords”,这似乎有我认为需要的职能签字,但我的汇编者抱怨说(发出警告)存在不一致之处。
Was PyCFunctionWithKeywords deprecated? If not, is there a time when I should/must use it?