C ++定义函数中Python的默认参数?

时间:2012-03-26 01:17:31

标签: c++ python

我在我的C ++应用程序中嵌入了Python,并且我创建了几个可以从Python调用的C函数。

要获得参数,我现在正在做:

if (!PyArg_ParseTuple(args, "zk", &param1, &param2))
  return NULL;

但是,我希望param2是可选的。我如何分别检查其中两个?

1 个答案:

答案 0 :(得分:3)

You don't.

  

|

     
    

表示Python参数列表中的其余参数是可选的。与可选参数对应的C变量应初始化为其默认值 - 如果未指定可选参数,则PyArg_ParseTuple()不会触及相应C变量的内容。

  
param2 = 42;
if (!PyArg_ParseTuple(args, "z|k", &param1, &param2))
  return NULL;