导入C++;在Python中使用向量作为参数的函数

导入C++;在Python中使用向量作为参数的函数,python,c++11,Python,C++11,我试图在Python中导入一个C++函数。我知道已经有一些关于这个的帖子了。然而,我还没有发现任何关于以向量为参数的函数的东西。我的C++函数是这样的: double many_body_pot( std::vector< std::vector<double> > &par, std::vector< std::vector<double> > &geometry, double x, double y,

我试图在Python中导入一个C++函数。我知道已经有一些关于这个的帖子了。然而,我还没有发现任何关于以向量为参数的函数的东西。我的C++函数是这样的:

double many_body_pot(
    std::vector< std::vector<double> > &par,
    std::vector< std::vector<double> > &geometry,
    double x, double y, double z
)
{
    // ...
}
双倍多体罐(
标准::矢量<标准::矢量>&par,
标准::矢量<标准::矢量>&几何体,
双x,双y,双z
)
{
// ...
}
如您所见,它将2个向量和3个double作为参数,并返回一个double作为结果。我还读过用C++来扩展Python。

<>但是我还是完全迷失了,我唯一清楚的是我必须包含在C++代码中:

#include <Python.h>
#包括

<> >我想在Python中导入这个函数,并使用列表或数组作为C++向量的参数。如何做到这一点?

可能会有帮助?可能是相关的:对于初学者,您需要创建一个模块并将您的函数放入其中。它还需要一个C(而不是C++)API。这通常是通过在C++中编写一个调用C++函数的包装器函数来实现的。这样做将让您从模块导入函数并从Python调用它。我有类似Python列表和/或DICT传递给Booost的类似内容::python C API函数,它构造了STD::vector或需要的任何东西,调用实际的C++函数,并返回结果。可能有用?可能相关:对于初学者,您需要创建一个模块并将函数放入其中。它还需要一个C(而不是C++)API。这通常是通过在C++中编写一个调用C++函数的包装器函数来实现的。这样做将让您从模块导入函数并从Python调用它。我有类似Python列表和/或DICT传递给Booo:的:Python C API函数,它构造了STD::vector或任何需要的东西,调用实际的C++函数,并返回结果。