函数加了函数名得到的结果不一样,为什么?

在return这一行加了abc和不加,计算的结果分别是8和9. 我用debug调试后发现加abc后来来回回计算了好多回,但是我看不懂,希望解答

def abc(x):
 if x==1:
return 1
elif x==2:
return 1
else:
return abc(x-1)+abc(x-2)             #加了abc和不加得到的结果不一样。
print(abc(6))

abc的逻辑是,如果输入的数字==1或者==2,那么返回1,否则,再对输入的数字进行-1,-2并进行abc计算相加。
比如输入abc(3),那么abc(3) = abc(2)+abc(1)=1+1,也就是函数中调用自己。
递归,好在6比较小,画了一个很艹的图。

img

肯定不一样啊。
return abc(x-1)+abc(x-2)
这种是递归。
return (x-1)+(x-2)
这种是直接返回值。