gpt4 book ai didi

python - 使用 pybind11 在 python 中打印 C++ 类

转载 作者:行者123 更新时间:2023-11-30 03:25:11 28 4
gpt4 key购买 nike

假设有这样一个类

class Data
{
public:
Data(double d): value_(d) {};

private:
double value_;
};

是否可以使用 pybind11 在 Python 中导出它,这样

d = Data(3.14)
print(d)

显示 3.14 而不是类似的东西

Data object at 0x7fed8a8c3298

最佳答案

导出时你可以这样做:

class_<Data>("Data", module)
.def("__repr__", [](const Data& d){ return std::to_string(d.getValue()); });

注意我添加了 getValue 方法,因为 value_ 是私有(private)的。虽然取决于您的界面,但添加类似 Data::toString() 的内容可能更有意义。

http://pybind11.readthedocs.io/en/stable/classes.html#binding-lambda-functions

关于python - 使用 pybind11 在 python 中打印 C++ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49153671/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com