python函数中的形参和实参

新手上路,请多包涵

我对如何识别递归函数中的形式参数和实际参数感到困惑。例如,在这段用于获取数字阶乘的代码块中:

 def factorial(n):
    if n == 1:
       return 1
    else:
       return n * factorial(n-1)

“factorial(n-1)”是形式参数,因为它在函数本身内部吗?或者它是实际参数,因为它为函数分配了一个值。另外,“factorial(n)”也是形式参数吗?

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

阅读 525
2 个回答

形式参数,即形参,在 函数定义 中。实际参数,即参数,在 函数调用 中。

所以 n 在这里:

 def factorial(n):

是形式参数。

n - 1 (或者更确切地说, _它计算的值_)在这里:

    return n * factorial(n-1)

是一个“实际参数”,即一个参数。

原文由 juanpa.arrivillaga 发布,翻译遵循 CC BY-SA 3.0 许可协议

形式参数是您用来指代函数的实际参数(又名参数)的 _名称_。在 factorial 的定义中, n 是形式参数。在对 factorial调用 中,表达式 n - 1 用作实际参数,在递归调用中(再次)绑定到形式参数 n .

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

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