实施PyMyType_Check方法与Python C API?
-
25-09-2019 - |
题
所有的Python提供的类型具有一个检查方法(即,PyList_Check
),可以允许,以检查是否任意PyObject*
实际上是一个特定的类型。
我怎样才能实现这个我自己的类型?我还没有发现任何良好的网上对于这一点,但它似乎是一个非常正常的事情想做。
另外,也许我是在通过大量的源代码树看着太可怕了,但我不能为我的生活找到PyList_Check
的在Python(2.5)源实施或它的同伴的。
解决方案
这是因为他们是宏使用深魔法>。保存自己的头痛和使用 PyObject_IsInstance()
而不是位。
其他提示
如果你想实现自己的宏,你可以尝试...
#define PyMyType_Check(op) \
PyObject_TypeCheck(op, &PyMyType_Type)
不隶属于 StackOverflow