Python 递归函数 详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 递归函数 详解相关的知识,希望对你有一定的参考价值。

Python 递归函数 详解

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

 

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

 

技术分享

 

 

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

技术分享

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

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

 技术分享

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

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

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

 技术分享

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

以上是关于Python 递归函数 详解的主要内容,如果未能解决你的问题,请参考以下文章

python递归函数

python 函数中的递归lambda map reduce 等详解

关于python递归函数怎样理解

python 递归函数与return

Python进阶 —— 尾递归

python小功能-递归解析Json