斐波那契数列中的return有疑问

def test(i):
    if i == 1:
        return 1
    if i == 2:
        return 1
    if i >= 3:
        return test(i - 1) + test(i - 2)

这是求第i项的数字是多少的函数。

这里对return有个疑问,如果函数参数i=1 返回1,然后退出函数。i=2,返回2,退出函数。

如果i=3,他会返回一个test(2)+test(1)。重点是:我记得当执行return后,自动退出函数,所以函数不会再回到前两行找到test2与test1对应的数值,所有当i=3时候,只返回test(2)+test(1)。我不知道这样理解哪里错了,求各位指正,🙏!

理解没问题,i=3的时候就只是返回test(2)+test(1)
i=3 的时候
test(3)
--test(2)+test(1)
=1+1=2

i=4
test(4)
-- test(3)+test(2)
=3