C语言 在嵌入式 python 中创建新的 None 对象



我正在为Python模块编写一个简单的C包装器。 我需要做的是创建一个表示None的新PyObject*。 我不知道该怎么做。 有没有一个简单的函数会返回指向NonePyObject*,类似于PyTuple_New返回指向新元组的PyObject*或PyString_FromString'返回指向 python 字符串的?

注意 在调用如下函数时,传递 C NULL是否有可能起作用? 例:

//pFunc points to a function with 2 arguments
PyObject *pArgs = PyTuple_New(2);
PyTuple_SetItem(pArgs, 0, PyString_FromString("hello"));
PyTuple_SetItem(pArgs, 1, NULL); // <--- will this create a python object representing None?
pValue = PyObject_CallObject(pFunc, pArgs);

根据文档,None是一个单例,可以从 C 代码中作为Py_None访问。

PyObject* Py_None Python None对象,表示缺乏价值。 此对象没有方法。它需要像对待任何其他人一样对待 对象与引用计数有关。

Py_RETURN_NONE 正确处理从 C 中返回的Py_None 功能。

相关内容

  • 没有找到相关文章

最新更新