Boost/Python 有 make_array 方法吗?

Posted

技术标签:

【中文标题】Boost/Python 有 make_array 方法吗?【英文标题】:Does Boost/Python have a make_array method? 【发布时间】:2011-03-29 00:02:51 【问题描述】:

我想在一个 ndarray 对象中将我的计算结果返回给 Python。我知道有一个 make_tuple 方法,所以我认为数组可能有类似的东西,但我找不到它。

编辑 - 我想我可以在 python 中创建数组,将其作为额外参数传递并修改它以保存值。不过最好使用返回值。

【问题讨论】:

【参考方案1】:

试试boost::python::numeric::array: http://www.boost.org/doc/libs/1_46_1/libs/python/doc/v2/numeric.html#array-spec

Numeric 是 NumPy 的旧称。这个包装器可能仍然适用于 NumPy。 Boost::Python 似乎因文档过时而臭名昭著。

【讨论】:

您知道正在创建的示例/教程吗?到目前为止,我已经解决了只是传递一个额外的参数并将值存储在那里。我无法理解您发布的文档链接。顺便说一句,我已经在使用它了,我只是不明白如何从 c++ 代码创建一个 ndarray。 是的,但是该页面上的文档很糟糕。他们只是在已经没有注释的标题中复制,不解释任何方法或它们的作用,并且示例是无用的。程序员想知道如何将 C++ 数据集合作为 numpy 对象传回给用户。他们没有告诉你怎么做。

以上是关于Boost/Python 有 make_array 方法吗?的主要内容,如果未能解决你的问题,请参考以下文章

boost.build 与 boost.python

减少 Boost Python 编译时间

如何使用 Boost.Python 定义 Python 元类?

Boost.Python 对象的 id

Boost::Python 为具有继承的类绑定

boost::python:如何覆盖静态属性?