22

我只想检查PyObject我拥有的 a 是否是None. 我天真地期望None Pyobject *从函数返回的任何指针都是 NULL 指针,但情况似乎并非如此。

那么:我如何检查我的 a 是否PyObject *指向一个None对象?

我知道PyInt_Check(PyObject *)周围有类似的宏,但我找不到类似PyNone_Check. 我以为我可以检查我的PyObject和之间的相等性Py_None,但结果我什至不知道如何与这个库进行相等性比较。

4

1 回答 1

27

您可以直接与Py_Noneusing进行比较==

if (obj == Py_None)

文档

请注意,PyTypeObjectforNone并未直接在 Python/C API 中公开。由于None是单例,因此测试对象身份(==在 C 中使用)就足够了。PyNone_Check()出于同样的原因,没有功能。

于 2015-04-19T16:57:28.383 回答