Pregunta

Todos los tipos previstos-Python tienen un método de verificación (es decir, PyList_Check) que le permite comprobar si un PyObject* arbitraria es en realidad un tipo específico.

¿Cómo se puede aplicar esto para mis propios tipos? No he encontrado nada bueno para esta línea, a pesar de que parece una cosa bastante normal que se quiera hacer.

Además, tal vez sólo soy terrible en mirar a través de grandes árboles de código fuente, pero no puedo por la vida de mí encontrar la implementación de PyList_Check o cualquiera de sus compañeros en el (2.5) fuente de Python.

¿Fue útil?

Solución

Esto se debe a Son macros que usar la magia profunda. Ahorrarse un poco de dolor de cabeza y el uso PyObject_IsInstance() lugar.

Otros consejos

Si desea implementar su propio macro, podría intentar ...

#define PyMyType_Check(op) \
    PyObject_TypeCheck(op, &PyMyType_Type)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top