用python a C++;使用pybind11初始化
假设一个人有这样一门课用python a C++;使用pybind11初始化,python,c++,pybind11,Python,C++,Pybind11,假设一个人有这样一门课 class Data { public: Data(double d): value_(d) {}; private: double value_; }; 是否可以使用pybind11在Python中导出它,以便 d = Data(3.14) print(d) 显示3.14而不是类似的内容 0x7fed8a8c3298处的数据对象 导出时可以执行以下操作: class_<Data>("Data", module)
class Data
{
public:
Data(double d): value_(d) {};
private:
double value_;
};
是否可以使用pybind11在Python中导出它,以便
d = Data(3.14)
print(d)
显示3.14而不是类似的内容
0x7fed8a8c3298处的数据对象
导出时可以执行以下操作:
class_<Data>("Data", module)
.def("__repr__", [](const Data& d){ return std::to_string(d.getValue()); });
类(“数据”,模块)
.def(“uuu repr_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
注意,我添加了getValue
方法,因为value\uu
是私有的。尽管这取决于您的接口,但添加类似于Data::toString()
的内容可能更有意义