python中函数的形参和实参

2022-01-24 00:00:00 python function 递归 iteration branch

问题描述

我对如何识别递归函数中的形式参数和实际参数有点困惑.例如在这个获取数字阶乘的代码块中:

I'm kind of confused on how to identify the formal and actual parameters in a recursive function. For example in this block of code for getting the factorial of a number:

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

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

Is "factorial(n-1)" the formal parameter since it is inside the function itself? Or is it the actual parameter because it assigned a value for the function. Also, is the "factorial(n)" the formal parameter as well?


解决方案

函数定义中有形参,即形参.函数调用中的实参,即实参.

所以n在这里:

def factorial(n):

是形式参数.

n - 1(或者更确切地说,它评估为的 值):

And n - 1 (or rather, the value it evaluates to) here:

   return n * factorial(n-1)

是实参",即参数.

相关文章