2010-11-12 60 views

回答

33

致電 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); 
+2

我同意的文檔是在這種情況下,一個小簡潔。我用'PyObject_Init()'調用了我的答案。 – 2010-11-12 09:22:03

+0

等待,'PyObject_Init()'不接受任何參數,那麼如何傳遞必要的初始化參數? – detly 2010-11-12 09:25:06

+0

@detly,你需要調用類對象。看到我更新的答案。 – 2010-11-12 10:39:30