31
說,我有我的對象佈局定義爲創建一個對象在我的C擴展中的某個地方?使用Python的C API
說,我有我的對象佈局定義爲創建一個對象在我的C擴展中的某個地方?使用Python的C API
致電
PyObject_New(),然後是
PyObject_Init()。
編輯:最好的辦法是到call類對象,就像在Python本身:
/* Pass two arguments, a string and an int. */
PyObject *argList = Py_BuildValue("si", "hello", 42);
/* Call the class object. */
PyObject *obj = PyObject_CallObject((PyObject *) &pyfoo_T, argList);
/* Release the argument list. */
Py_DECREF(argList);
我同意的文檔是在這種情況下,一個小簡潔。我用'PyObject_Init()'調用了我的答案。 – 2010-11-12 09:22:03
等待,'PyObject_Init()'不接受任何參數,那麼如何傳遞必要的初始化參數? – detly 2010-11-12 09:25:06
@detly,你需要調用類對象。看到我更新的答案。 – 2010-11-12 10:39:30