运算过程2*2*2*1,,1怎么来的

def power(x, y):
if y == 0:
return 1
else:
return x * power(x, y-1)

print(power(2, 3))
,当y=1,y_1=0,那后面结果是怎么算的?

power(2,3)时,y==0不成立,执行 2*power(2,2),也就是power(2,3)=2*power(2,2);
power(2,2)时,y==0不成立,执行2*power(2,1),也就是power(2,2)=2*power(2,1);
power(2,1)时,y==0不成立,执行2*power(2,0),也就是power(2,1)=2*power(2,0);
power(2,0)时,y==0成立,执行return1;也就是power(2,0)=1;
所以结果就是2*2*2*1

学习了,第一次知道函数里可以嵌套自己