Python进阶之递归函数的用法及其示例

本文深入探讨Python中的递归函数,解释递归的概念,并提供多个示例,包括阶乘、斐波那契数列和汉诺塔问题,帮助读者更好地理解和运用递归。
摘要由CSDN通过智能技术生成

本篇文章主要介绍了Python进阶之递归函数的用法及其示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
一、递归

是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象。在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知。使用递归解决问题,思路清晰,代码少。但是在主流高级语言中(如C语言、Pascal语言等)使用递归算法要耗用更多的栈空间,所以在堆栈尺寸受限制时(如嵌入式系统或者内核态编程),应避免采用。所有的递归算法都可以改写成与之等价的非递归算法。
(来源于百度,看不懂正常,术语就是不说人话)
下面是笔者的个人理解:递归就是在函数内部调用自己的函数被称之为递归。

看不懂?形象的举几个例子!

一个洋葱是一个带着一层洋葱皮的洋葱。
递归就是包子馅的包子,它的极限是馒头。
真的形象!有点扯远了…言归正传,下面我们通过递归来理解递归!

二、实例

#直接调用自己:
def func():
  print('from func')
  func()
 
func()
#间接调用自己
def foo():
  print('from foo')
  bar()
 
def bar():
  print('from bar')
  foo()
 
foo()
#递归的实现:
def age(n):
  if n == 1:
    return 18
  return age(n-1)+2
 
print(
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值