MATLAB到Python:如何替换nargin功能

时间:2017-10-18 18:38:40

标签: python matlab

我的MATLAB代码就像这样

function d = myFun1(a,b,c)
  if nargin<3
     c = myFun2(a,b)
  end
  d = a+b+c;
function c = myFun2(a,b)
  c = a*b;

我的Python代码必须复制上面的内容,我错误地尝试过。

def myFun1(a,b, c=myFun2(a,b)):
    d = a+b+c;
    return d;
def myFun2(a,b):
    c = a*b;
    return c; 

如何复制上述功能?

1 个答案:

答案 0 :(得分:2)

关键字参数仅在此时进行评估,定义了函数。您必须使用标记并进行检查才能进行其他计算:

def myFun1(a, b, c=None):
    if c is None:
        c = myFun2(a, b)
    d = a + b + c
    return d