【发布时间】:2019-11-26 12:20:17
【问题描述】:
在使用 make_function 创建 Python 对象后,我需要访问该对象中的函数名。
我试过了:
void foo() {}
boost::python::object function = boost::python::make_function(foo);
// I got "unnamed Boost.Python function"
std::string name = boost::python::extract<std::string>(function.attr("__name__"));
// I got "attribute '__name__' of 'Boost.Python.function'"
function.attr("__name__") = "foo";
是否可以使用 make_function 设置“__name__”属性?
【问题讨论】:
-
我不是通过使用 make_function butt
PyMethoDef解决了这个问题。例如,PyMethodDef * def = new PyMethodDef(); def->ml_name="foo"; ...