检查PyObject是否为非

2024-10-01 13:44:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想检查一下我的PyObject是否是None。我天真地期望从函数返回的任何NonePyobject *都是空指针,但事实并非如此。在

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

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


Tags: 对象函数pynonecheck事实指向pyobject
1条回答
网友
1楼 · 发布于 2024-10-01 13:44:31

您可以使用==直接与Py_None进行比较:

if (obj == Py_None)

docs

Note that the PyTypeObject for None is not directly exposed in the Python/C API. Since None is a singleton, testing for object identity (using == in C) is sufficient. There is no PyNone_Check() function for the same reason.

相关问题 更多 >