python中函数的形式参数和实际参数

2024-05-12 13:26:24 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

“factorial(n-1)”是形式参数吗,因为它在函数内部?或者它是实际参数,因为它为函数赋值。另外,“阶乘(n)”也是形式参数吗?


Tags: 函数代码参数returnifdef数字else
3条回答

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

所以n这里:

def factorial(n):

是一个形式参数。

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

   return n * factorial(n-1)

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

factorial(n)定义中的n是形式参数,因为它是用于定义函数的参数。在factorial(n-1)调用中的n-1是一个实际参数,因为这是用它调用函数的参数。

形式参数是用于将实际参数(aka参数)引用到函数的名称。在factorial的定义中,n是形式参数。在对factorial的调用中,表达式n - 1用作递归调用中绑定到(再次)形式参数n的实际参数。

相关问题 更多 >