如何在 Python 中使用 C 类?

新手上路,请多包涵

我已经用 C++ 实现了一个类。我想将它与 Python 一起使用。 请建议逐步方法并详细说明每个步骤。 像这样的东西…

 class Test{
     private:
        int n;
     public:
        Test(int k){
            n=k;
        }
        void setInt(int k){
            n = k;
        }
        int getInt(){
            return n;
        }
};

现在,在 Python 中

>>> T1 = Test(12)
>>> T1.getInt()
12
>>> T1.setInt(32)
>>> T1.getInt()
32

请建议。我该怎么做?注意:我想知道手动方式来做到这一点。我不想要任何第三方库依赖。

原文由 Pratik Deoghare 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 521
2 个回答

查看 Boost.Python 。这是一个用 C++ 编写 python 模块的库。

还可以查看 SWIG ,它也可以处理其他脚本语言的模块。我过去曾用它为我的班级编写模块并在 python 中使用它们。效果很好。

您可以使用 Python/C API 手动完成,自己编写接口。这是相当低级的,但是您将获得很多关于 Python 如何在幕后工作的额外知识(无论如何,当您使用 SWIG 时,您将需要它)。

原文由 Johannes Schaub - litb 发布,翻译遵循 CC BY-SA 2.5 许可协议

我建议您尝试 SWIG 或 sip (KDE/PyQt)。

SWIG 链接: http ://www.swig.org/

SIP 链接:http: //freshmeat.net/projects/python-sip/

这些可用于包装 C++ 类并为它们提供 Pythonic 接口。

原文由 batbrat 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题