函数递归出口的重要性!

文章目录

    • 函数的递归
    • 递归函数的特点
    • 递归代码的执行流程图

函数的递归

一个函数内部调用自己
函数内部可以调用其他函数,当然在函数内部也可以调用自己
代码特点:

  1. 函数内部的代码是相同的,只是针对参数不同,处理的结果不同
  2. 当参数满足一个条件时,函数不在执行
    这个非常重要:通常被称为递归的出口,否则会出现死循环!
    函数递归出口的重要性!_第1张图片

递归函数的特点

def sun_number(num):
    print(num)
    #递归的出口,当参数满足某个条件时,不再执行函数
    if num ==1:
        return
    # 自己调用自己
    sun_number(num -1)
a=sun_number(3)

函数递归出口的重要性!_第2张图片

递归代码的执行流程图

函数递归出口的重要性!_第3张图片自己写的执行步骤:
在调用函数sun_number时:
第一步:执行的是把实参3传递给函数内部的形参num,
第二步:打印num参数
第三步:判断如果 num == 1则返回1:否则执行下面的代码,
在这里函数又调用了一次函数Sun_number(num-1)
第四步:这时再一次调用函数sun_number时,参数num已经为2了
第二次调用sun_number
第五步:调用函数sun_number,再把2传递给函数内部的num
第六步:判断如果 num 1 则返回1:否则执行下面的代码
在这里执行又调用了一次函数sun_number(num - 1),这时在把执行函数完成时
参数num已经为1了
第三次调用sun_number
第七步:调用函数sun_number,再把1传递个函数内部的num
第八步:打印输出num=1
第九步:判断如果num
1则返回1,符合条件则执行return num =1
第十步:当第三次执行完这个函数后,就会回到上一次调用函数的位置,一层一层的返回
最后出去,整个程序则执行完成,

而return就是这个递归函数很重要的出口

你可能感兴趣的:(函数递归出口的重要性!)