我正在尝试让我的 c 扩展名的Py_INCREF
's 和Py_DECREF
's 正确。在这样做的同时,我一直在为发电机的真正高价值而磕磕绊绊。我一直在做的事情如下:
// Forgive me for leaving out the NULL checks
PyObject *get_generator = PyUnicode_InternFromString("get_generator");
PyObject *callback;
PyObject *seq;
PyObject *item;
callback = PyObject_CallMethodObjArgs(parent->state, get_generator, NULL);
seq = PyObject_GetIter(tmp);
Py_DECREF(callback);
while ((item = PyIter_Next(seq))) {
...
Code
...
Py_DECREF(item);
}
Py_DECREF(seq);
printf("!!!%zd\n", seq);
有人可以解释一下吗。