Вопрос

Все типы Python, которые имеют метод проверки (т. Е. PyList_Check) это позволяет проверить, является ли произвольным PyObject* на самом деле конкретный тип.

Как я могу реализовать это для моих собственных типов? Я не нашел ничего хорошего в Интернете для этого, хотя кажется, что это довольно нормальная вещь, которую нужно сделать.

Также, может быть, я просто ужасен, глядя через крупные источники, но я не могу за жизнь меня найти реализацию PyList_Check Или любой из его компаньонов в источнике Python (2.5).

Это было полезно?

Решение

Это потому что Они макрос Это использует глубокую магию. Сэкономьте себя немного головной болью и используйте PyObject_IsInstance() вместо.

Другие советы

Если вы хотите реализовать свой собственный макрос, вы можете попробовать ...

#define PyMyType_Check(op) \
    PyObject_TypeCheck(op, &PyMyType_Type)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top