Fab*_*ian 5 python numpy python-c-api
我是 Python C-API 的新手。
目前我通过以下方式从嵌入式 Python 模块获取对象
PyObject* a = (PyObject*) PyObject_GetAttrString(pModule, "a");
std::cout << "a as long is " << PyLong_AsLong(a) << std::endl;
Run Code Online (Sandbox Code Playgroud)
我通过访问 numpy 对象
PyArrayObject* array = (PyArrayObject*) PyObject_GetAttrString(pModule, "A");
Run Code Online (Sandbox Code Playgroud)
如何测试该对象是否真的是 a PyArrayObject?换句话说,如何通过 Python 来做我想做的事情isinstance(a, numpy.ndarray)?
使用PyArray_Check或PyArray_CheckExact. PyArray_Check如果子类没问题,或者PyArray_CheckExact您需要类型完全相同的对象,请使用numpy.ndarray。