![](/img/trans.png)
[英]Determine if PyObject* is PyLongDoubleScalarObject (numpy)
[英]How to determine if a PyObject is a numpy PyArrayObject
我是 Python C-API 的新手。
目前我通过以下方式从嵌入式 Python 模块获取对象
PyObject* a = (PyObject*) PyObject_GetAttrString(pModule, "a");
std::cout << "a as long is " << PyLong_AsLong(a) << std::endl;
我通过访问 numpy 个对象
PyArrayObject* array = (PyArrayObject*) PyObject_GetAttrString(pModule, "A");
我如何测试 object 是否真的是PyArrayObject
? 换句话说,如何通过isinstance(a, numpy.ndarray)
做我在 Python 中要做的事情?
使用PyArray_Check
或PyArray_CheckExact
。 如果子类没问题,请使用PyArray_Check
,如果您需要类型正好为 numpy.ndarray 的PyArray_CheckExact
,请使用numpy.ndarray
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.