Cza*_*Luc 1 python iteration recursion branch function
我对如何识别递归函数中的形式和实际参数感到困惑.例如,在这段代码中获取数字的阶乘:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
Run Code Online (Sandbox Code Playgroud)
"factorial(n-1)"是形式参数,因为它在函数内部吗?或者它是实际参数,因为它为函数分配了一个值.另外,"factorial(n)"也是形式参数吗?
形式参数,即参数,在函数定义中.实际参数,即参数,在函数调用中.
所以n这里:
def factorial(n):
Run Code Online (Sandbox Code Playgroud)
是一个正式的参数.
并且n - 1(或者更确切地说,它评估的值)在这里:
return n * factorial(n-1)
Run Code Online (Sandbox Code Playgroud)
是一个"实际参数",即一个参数.