葫芦金刚

导航

Python 递归函数 详解

Python 递归函数 详解

  在函数内调用当前函数本身的函数就是递归函数

 

  下面是一个递归函数的实例:

 

 

 

        第一次接触递归函数的人,都会被它调用本身而搞得晕头转向,而且看上面的函数调用,得到的结果会是:

        为什么会得出上面的结果呢?因为都把调用函数本身之后的代码给忘记了,就是else之后的python 代码。

        实际此递归函数输出的是以下结果:

 

       相信大家看到这里都有点蒙,小编也一样,我第一次看到这个递归函数时,只能理解到第一个结果。那是因为,大部分人在做事情的时候,中断第一件事,被安排去做第二件事的时候,就会把第一件事后续的事情给忘记,如果在做第二件事的时候,又被中断,被安排去做第三件事,就会把第一件、第二件要做的后续的事情给忘记......,这就是不理解递归函数的原因。

       下面我把此递归函数做了一个分解,希望能够帮到大家。 

       详解递归函数,当调用递归函数digui(3)时,执行过程如下:

 

         在调用函数本身时,它之后的代码并没有结束,而是在等待条件为False 时,再接着执行之后的代码,同一个颜色的print()语句等待对应颜色的函数。

posted on 2017-11-08 21:38  葫芦金刚  阅读(22817)  评论(1编辑  收藏  举报