如何从一个C++函数返回多个对象到Python?

2024-05-17 01:38:18 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的应用程序中,我必须在表示数据表的C++类和Python之间有一个接口,需要在表上迭代。出现这个问题是因为表记录了它的哪些行和列被选中,并相应地对它们进行操作;因此,有时对象是一个只选中一列的表,迭代器应该遍历这些列,有时它选择了多个列,并且应该遍历这些列本身。实际上,迭代器的类型需要根据表的内部状态进行更改。你知道吗

如果这是纯C++,我只需改变它,使表的索引操作符返回列而不是选择该列的表;但是,由于Python的切片操作符,它将不能工作,它可以选择零或更多列,所以问题将被移动而不是解决——这就是为什么它当前不返回单个列的原因。你知道吗

看起来这应该很容易做到,因为python是一种动态语言,所以我只需要返回迭代器的PyObject形式。但是,我无法理解如何使用Boosi::Python声明C++对象到PyObject,或者如何在以后返回它——即Boosi::Python包装器要我返回Booo::Python::对象或pyObject,等等


Tags: 对象语言应用程序声明类型状态记录动态