递归函数python简单实例详解
来源:小码王信奥 时间:2023-11-02 浏览量:72
所有的编程语言都有递归函数,递归指的是一个过程:函数不断引用自身,直到引用的对象不满足条件为结束。可以直接理解为:递归就是在函数内部调用自己的函数被称之为递归

函数的递归调用原理


实际上递归函数是在栈内存上递归执行的,每次递归执行一次就会耗费一些栈内存。栈内存的大小是限制递归深度的重要因素


递归函数的优点


定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。


递归函数的缺点


使用递归方式需要函数做大量的压栈和弹栈操作,由于压栈和弹栈涉及函数执行上下文(context)的现场保存和现场恢复,所以程序的运行速度比不用递归实现要慢。

此外,大量的堆栈操作消耗的内存资源要比非递归调用多。而且,过深的递归调用还可能会导致堆栈溢出。如果操作不慎,还容易出现死循环。因此读者编写代码时需要多加注意,一定要设置递归操作的终止条件。


Python递归函数实例详解


业务需求:遍历arr列表,打印所有的值用递归函数实现

  1. arr=[1,[2,3]] 

  2. def digui(arr): 

  3.     if type(arr)==list: 

  4.         for i in arr: 

  5.             if type(i)==list: 

  6.                 digui(i) 

  7.             else

  8.                 print(i) 

  9.  

  10. digui(arr) 


代码中,判断值如果还是列表就调用自身实现循环判断、打印


你也想0元体验小码王信奥集训营吗?
填写信息免费预约
姓名:
城市:
电话:
icon免费领取
免责申明:以上展示内容来源于合作媒体、企业机构、网友提供或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表小码王官方立场,请读者仅做参考。本文标题:递归函数python简单实例详解,本文链接:http://www.xiaomawang.vip/help/20953.html;欢迎转载,转载请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何涉及有违公德、触犯法律等违法信息,请您立即通过邮件(邮箱号: hzlixy@xiaoma.cn)联系我们及时修正或删除。