Python 提供的所有类型都有一个检查方法(即PyList_Check
),它允许您检查任意PyObject*
值是否实际上是特定类型。
我怎样才能为我自己的类型实现这个?我没有在网上找到任何好的东西,尽管这似乎是一件很正常的事情。
另外,也许我只是在查看大型源代码树方面很糟糕,但我终生无法PyList_Check
在 Python (2.5) 源代码中找到实现或其任何同伴。
Python 提供的所有类型都有一个检查方法(即PyList_Check
),它允许您检查任意PyObject*
值是否实际上是特定类型。
我怎样才能为我自己的类型实现这个?我没有在网上找到任何好的东西,尽管这似乎是一件很正常的事情。
另外,也许我只是在查看大型源代码树方面很糟糕,但我终生无法PyList_Check
在 Python (2.5) 源代码中找到实现或其任何同伴。
那是因为它们是使用深层魔法的宏。为自己省点麻烦,然后PyObject_IsInstance()
改用。
如果您想实现自己的宏,可以尝试...
#define PyMyType_Check(op) \
PyObject_TypeCheck(op, &PyMyType_Type)