Pergunta

Todos os tipos fornecidos por Python têm um método de verificação (ou seja, PyList_Check) isso permite que você verifique se um arbitrário PyObject* é realmente um tipo específico.

Como posso implementar isso para meus próprios tipos? Não encontrei nada de bom online para isso, embora pareça uma coisa bastante normal de querer fazer.

Além disso, talvez eu seja péssimo em olhar através de grandes árvores de origem, mas não posso para a vida de mim encontrar a implementação de PyList_Check ou qualquer um de seus companheiros na fonte Python (2.5).

Foi útil?

Solução

Isso é porque Eles são macros que usam mágica profunda. Salve um pouco de dor de cabeça e use PyObject_IsInstance() em vez de.

Outras dicas

Se você quiser implementar sua própria macro, você pode tentar ...

#define PyMyType_Check(op) \
    PyObject_TypeCheck(op, &PyMyType_Type)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top