如何通过boost :: python重命名构造函数的关键字参数

xpadvent

我有一个C ++类,例如:

class Foo {
 public:
  Foo(int param1 = 0, int param2 = 1);
}

我想在python中使用关键字参数调用它,如下所示:

foo = Foo(arg1 = 1)

要么

foo = Foo(arg2 = 5)

我不知道如何通过boost :: python重命名构造函数中的参数,有人可以帮助我吗?先感谢您

乔丹·布里埃(Jordan Briere)

要使用自定义名称和自定义默认值定义构造函数的Python签名,请按以下步骤导出类:

boost::python::class_<Foo>(
    "Foo",
    boost::python::init<int, int>(
        (boost::python::arg("self"), boost::python::arg("arg1")=0, boost::python::arg("arg2")=1)
    )
);

现在,您可以使用Python执行以下操作:

foo = Foo() # arg1 is 0, arg2 is 1
foo = Foo(1, 5) # arg1 is 1, arg2 is 5
foo = Foo(1) # arg1 is 1, arg2 is 1
foo = Foo(arg1=1) # arg1 is 1, arg2 is 1
foo = Foo(arg2=5) # arg1 is 0, arg2 is 5

注意:您不必声明self参数,但是可以改善构造函数的文档字符串:

Foo.__init__( (object)self [, (int)arg1=0 [, (int)arg2=1]]) -> None

如果您使用文档生成器(例如Sphinx等),这很有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类的构造函数和关键字参数-Python如何确定哪个是意外的?

来自分类Dev

如何使python内置函数支持关键字参数?

来自分类Dev

如何在Python中将关键字参数添加到派生类的构造函数中?

来自分类Dev

通过Python关键字作为参数?

来自分类Dev

如何在php构造函数中提及关键字参数?

来自分类Dev

如何在python关键字参数上使用executor.map函数

来自分类Dev

如何使用params关键字读取参数并实现函数

来自分类Dev

如何在终端中使用关键字/特定文本重命名?

来自分类Dev

如何通过pybind11传递Python的关键字参数?

来自分类Dev

朱莉娅:通过map()函数将关键字参数传递给函数

来自分类Dev

这段代码中如何使用super关键字来调用父类的构造函数?

来自分类Dev

如何使用“ this”关键字作为参数?

来自分类Dev

如何跳过空关键字参数

来自分类Dev

如何编写将不同的关键字参数传递给不同函数的函数

来自分类Dev

可以通过位置或关键字接受参数的常见Lisp函数?

来自分类Dev

可以通过位置或关键字接受参数的常见Lisp函数吗?

来自分类Dev

如何获取传递给函数调用的关键字参数的原始顺序?

来自分类Dev

如何忽略传递给函数的意外关键字参数?

来自分类Dev

Common Lisp-如何使用关键字参数对函数进行调用/应用?

来自分类Dev

如何在关键字参数中使用@retry并传递函数

来自分类Dev

如何通过Boost.Python从python文件导入函数

来自分类Dev

如何使用标识符等于scala语言关键字的标识符来命名方法参数?

来自分类Dev

如果通过定位参数代替,如何设置关键字参数

来自分类Dev

如何从字符串参数获得关键字参数?

来自分类Dev

如何为python 3.0的仅关键字参数导入__future__?

来自分类Dev

如何在Python中访问关键字参数的默认值?

来自分类Dev

Python的argparse:如何使用关键字作为参数名称

来自分类Dev

如何从python中的字符串中检索关键字参数?

来自分类Dev

如何在Python多处理中指定特定的关键字参数

Related 相关文章

  1. 1

    类的构造函数和关键字参数-Python如何确定哪个是意外的?

  2. 2

    如何使python内置函数支持关键字参数?

  3. 3

    如何在Python中将关键字参数添加到派生类的构造函数中?

  4. 4

    通过Python关键字作为参数?

  5. 5

    如何在php构造函数中提及关键字参数?

  6. 6

    如何在python关键字参数上使用executor.map函数

  7. 7

    如何使用params关键字读取参数并实现函数

  8. 8

    如何在终端中使用关键字/特定文本重命名?

  9. 9

    如何通过pybind11传递Python的关键字参数?

  10. 10

    朱莉娅:通过map()函数将关键字参数传递给函数

  11. 11

    这段代码中如何使用super关键字来调用父类的构造函数?

  12. 12

    如何使用“ this”关键字作为参数?

  13. 13

    如何跳过空关键字参数

  14. 14

    如何编写将不同的关键字参数传递给不同函数的函数

  15. 15

    可以通过位置或关键字接受参数的常见Lisp函数?

  16. 16

    可以通过位置或关键字接受参数的常见Lisp函数吗?

  17. 17

    如何获取传递给函数调用的关键字参数的原始顺序?

  18. 18

    如何忽略传递给函数的意外关键字参数?

  19. 19

    Common Lisp-如何使用关键字参数对函数进行调用/应用?

  20. 20

    如何在关键字参数中使用@retry并传递函数

  21. 21

    如何通过Boost.Python从python文件导入函数

  22. 22

    如何使用标识符等于scala语言关键字的标识符来命名方法参数?

  23. 23

    如果通过定位参数代替,如何设置关键字参数

  24. 24

    如何从字符串参数获得关键字参数?

  25. 25

    如何为python 3.0的仅关键字参数导入__future__?

  26. 26

    如何在Python中访问关键字参数的默认值?

  27. 27

    Python的argparse:如何使用关键字作为参数名称

  28. 28

    如何从python中的字符串中检索关键字参数?

  29. 29

    如何在Python多处理中指定特定的关键字参数

热门标签

归档