首页 > c++调用python的一个函数,函数的返回值是tuple。问题:怎么解析这个tuple类型。

c++调用python的一个函数,函数的返回值是tuple。问题:怎么解析这个tuple类型。

PyArg_Parse()没有找到属于tuple的类型。


python的变量和c++变量是没有对应性的,你需要通过解释来传值。
举个使用boost/python的例子
python tuple: (True, (10, 10), 10.0, 10.0)

        namespace py = boost::python;
        boost::python::object calc_func = modules[job->module].attr("Calc");
        py::object result_tuple = calc_func(s);

        /* result */
        r0 = py::extract(result_tuple[0]);

        /* center */
        r1 = py::extract(result_tuple[1][0]);
        r2 = py::extract(result_tuple[1][1]);

        /* angle */
        r3 = py::extract(result_tuple[2]);

        /* quality */
        r4 = py::extract(result_tuple[3]);
        
        
【热门文章】
【热门文章】