2024-05-12 13:26:24 发布
网友
我对如何识别递归函数中的形式参数和实际参数有些困惑。例如,在此代码块中,用于获取数字的阶乘:
def factorial(n): if n == 1: return 1 else: return n * factorial(n-1)
“factorial(n-1)”是形式参数吗,因为它在函数内部?或者它是实际参数,因为它为函数赋值。另外,“阶乘(n)”也是形式参数吗?
形式参数,即参数,在函数定义中。实际参数,即参数,在函数调用中。
所以n这里:
n
def factorial(n):
是一个形式参数。
以及n - 1(或者更确切地说,它计算的值)在这里:
n - 1
return n * factorial(n-1)
是“实际参数”,即参数。
factorial(n)定义中的n是形式参数,因为它是用于定义函数的参数。在factorial(n-1)调用中的n-1是一个实际参数,因为这是用它调用函数的参数。
factorial(n)
factorial(n-1)
n-1
形式参数是用于将实际参数(aka参数)引用到函数的名称。在factorial的定义中,n是形式参数。在对factorial的调用中,表达式n - 1的值用作递归调用中绑定到(再次)形式参数n的实际参数。
factorial
形式参数,即参数,在函数定义中。实际参数,即参数,在函数调用中。
所以
n
这里:是一个形式参数。
以及
n - 1
(或者更确切地说,它计算的值)在这里:是“实际参数”,即参数。
factorial(n)
定义中的n
是形式参数,因为它是用于定义函数的参数。在factorial(n-1)
调用中的n-1
是一个实际参数,因为这是用它调用函数的参数。形式参数是用于将实际参数(aka参数)引用到函数的名称。在
factorial
的定义中,n
是形式参数。在对factorial
的调用中,表达式n - 1
的值用作递归调用中绑定到(再次)形式参数n
的实际参数。相关问题 更多 >
编程相关推荐