3

Python 提供的所有类型都有一个检查方法(即PyList_Check),它允许您检查任意PyObject*值是否实际上是特定类型。

我怎样才能为我自己的类型实现这个?我没有在网上找到任何好的东西,尽管这似乎是一件很正常的事情。

另外,也许我只是在查看大型源代码树方面很糟糕,但我终生无法PyList_Check在 Python (2.5) 源代码中找到实现或其任何同伴。

4

2 回答 2

2

那是因为它们是使用深层魔法的宏。为自己省点麻烦,然后PyObject_IsInstance()改用。

于 2010-05-10T19:43:42.977 回答
0

如果您想实现自己的宏,可以尝试...

#define PyMyType_Check(op) \
    PyObject_TypeCheck(op, &PyMyType_Type)
于 2014-11-11T22:03:06.000 回答