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

2024-04-25 00:29:51 发布

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

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))

当调用fibonacci(10)时,fibonacci(n-1)首先被解析,直到基本情况,然后,fibonacci(n-2)被解析


Tags: orbasereturnifdef情况elsefibonacci
1条回答
网友
1楼 · 发布于 2024-04-25 00:29:51

the docs

Python evaluates expressions from left to right.

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

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

相关问题 更多 >