python之路---递归函数

  我们先来讲一个故事,讲的什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呢.....

  递归函数表示如下:

def story():
    s = """
    从前有个山,山里有座庙,庙里老和尚讲故事,
    讲的什么呢?
    """
    print(s)
    story()

story()
# 递归函数有最大递归深度,超过便会报错

初识递归                      

  1. 递归的定义-----在一个函数里再调用这个函数本身
  2. 递归的最大深度-----997

递归函数如果不受外力的阻止会一直执行下去。但是我们之前已经说过关于函数调用的问题,每一次函数调用都会产生一个属于它自己的名称空间,如果一直调用下去,就会造成名称空间占用太多内存的问题,于是python为了杜绝此类现象,强制的将递归层数控制在了997。

再谈递归                                 

猜你喜欢

转载自www.cnblogs.com/yanyufeng/p/9632888.html
今日推荐