首页-行业动态-常见问题-详情

递归函数python简单实例详解

发布日期:2023-11-02   来源:小码王编程    查看人数: 55

导读:所有的编程语言都有递归函数,递归指的是一个过程:函数不断引用自身,直到引用的对象不满足条件为结束。可以直接理解为:递归就是在函数内部调用自己的函数被称之为递归目...

所有的编程语言都有递归函数,递归指的是一个过程:函数不断引用自身,直到引用的对象不满足条件为结束。可以直接理解为:递归就是在函数内部调用自己的函数被称之为递归

函数的递归调用原理


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


递归函数的优点


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


递归函数的缺点


使用递归方式需要函数做大量的压栈和弹栈操作,由于压栈和弹栈涉及函数执行上下文(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元试听小码王少儿编程课程吗?
填写信息免费预约
我已阅读并同意《小码王服务条款》

免责说明:以上展示内容源于网络、合作媒体和网友提供,转载请说明出处。我们对站内所有内容、观点保持中立,如您发现该内容有任何违法/侵权信息,请及时联系我们处理!
本文标题:递归函数python简单实例详解,本文链接: http://www.xiaomawang.vip/help/20953.html