python中的函数递归

函数递归,就是一个函数,自己调用自己。

如上图所示,是一段通过定义函数,编写函数体来实现for循环。实现的是从1到n的累乘。即求n的阶乘,

如上图所示,是一段函数的递归来实现1到n的累乘操作,将1****n拆分成一个个的子问题,如果条件是1时就返回1,如果条件不是1时,就return n * factor(n - 1)将n的值一步步衰减。

递归的代码,虽然很多时候看起来写法很简单,但是执行过程可能会非常复杂!!

在分析递归代码的时候,光用脑子想,是很困难!!

要么画图,要么使用调试器,来一步步的查看代码的运行情况。

如果递归函数的递推公式写错,那么就可能出现无限递归的情况,造成栈溢出(即这块内存空间用来储存变量的值是不够的,由此出现栈溢出的情况。)

递归的优点:代码非常简洁,尤其是处理一些"问题本身就是通过递归的方式定义的"

相关推荐
Xiu Yan1 分钟前
Java 转 C++ 系列:函数对象、谓词和内建函数对象
java·开发语言·c++
m0_377618231 分钟前
如何在 pytest 中通过组合多个 fixture 实现参数化测试
jvm·数据库·python
Full Stack Developme3 分钟前
Hutool StrUtil 教程
开发语言·网络·python
代码羊羊4 分钟前
Rust方法速览:从self到impl
开发语言·后端·rust
小糖学代码4 分钟前
LLM系列:2.pytorch入门:2.PyTorch张量运算
pytorch·python·aigc·numpy
给自己做减法5 分钟前
RAG调参实践一
python·ai编程·rag
djjdjdjdjjdj8 分钟前
Golang如何做本地缓存加速_Golang本地缓存教程【核心】
jvm·数据库·python
2301_764150569 分钟前
如何在 WordPress AMP 网站中为特定模板禁用 AMP 渲染
jvm·数据库·python
2301_773553629 分钟前
bootstrap怎么给div添加背景图片
jvm·数据库·python
2301_773553629 分钟前
CSS如何通过CSS变量实现组件颜色隔离_提升组件样式独立性
jvm·数据库·python