当Python中的一条语句中有多个函数调用时,递归函数中如何调用函数?

当Python中的一条语句中有多个函数调用时,递归函数中如何调用函数?,python,recursion,fibonacci,Python,Recursion,Fibonacci,调用fibonacci(10)时,fibonacci(n-1)是否先解析,直到基本情况,然后再解析fibonacci(n-2)?来自: Python从左到右计算表达式 是的,fibonacci(n-2)+fibonacci(n-1)的求值顺序如您所述:首先fibonacci(n-2)求值为一个值,然后fibonacci(n-1)求值为一个值,整个表达式求值为这两个值的总和 在这种情况下,递归没有什么特别之处。Python从左到右求值,即使操作数不是递归函数调用。您可以通过在函数顶部添加print

调用fibonacci(10)时,fibonacci(n-1)是否先解析,直到基本情况,然后再解析fibonacci(n-2)?

来自:

Python从左到右计算表达式

是的,
fibonacci(n-2)+fibonacci(n-1)
的求值顺序如您所述:首先
fibonacci(n-2)
求值为一个值,然后
fibonacci(n-1)
求值为一个值,整个表达式求值为这两个值的总和


在这种情况下,递归没有什么特别之处。Python从左到右求值,即使操作数不是递归函数调用。

您可以通过在函数顶部添加print('fibonacci'+str(n))来找到答案。
def fibonacci(n):

    if n == 0 or n == 1: # base c a s e s
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(10))