void Py_XINCREF(PyObject *o) 增加对象 o 的引用计数。对象可以为 NULL,在此情况下该宏不产生任何效果。 另请参阅Py_XNewRef()。
PyObject *Py_NewRef(PyObject *o) Part of the Stable ABI since version 3.10. 新建指向一个对象的strong reference: 增加对象 o 的引用计数并返回对象 o。 当不再需要这个strong reference 时,应当在对象上调用Py_DECREF() 来有减少该对象的引用计数。 对象 o 必须不为 NULL;如果 o 可以为 NULL 则应改用Py_XNewRef()。 例如:
Py_INCREF(obj);
self->attr = obj;
1
2
可以写成:
self->attr = Py_NewRef(obj);
1
另请参阅Py_INCREF()。 3.10 新版功能
PyObject *Py_XNewRef(PyObject *o) Part of the Stable ABI since version 3.10. 类似于Py_NewRef(),但对象 o 可以为 NULL。 如果对象 o 为 NULL,该函数也·将返回 NULL。 3.10 新版功能.