繁体   English   中英

如何确定 PyObject 是否为 numpy PyArrayObject

[英]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_CheckPyArray_CheckExact 如果子类没问题,请使用PyArray_Check ,如果您需要类型正好为 numpy.ndarray 的PyArray_CheckExact ,请使用numpy.ndarray

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM