81:递归函数_函数调用内存分析_栈帧的创建

###递归函数

递归函数指的是:自己调用自己的函数,在函数体内部直接或间接的自己调用自己。递归类似于大家中学数学学习过的“数学归纳法”。 每个递归函数必须包含两个部分:
1. 终止条件
表示递归什么时候结束。一般用于返回值,不再调用自己。
2. 递归步骤
把第 n 步的值和第 n-1 步相关联。

递归函数由于会创建大量的函数对象、过量的消耗内存和运算能力。在处理大量数据时,谨慎使用。

def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)


for i in range(1, 6):
    print(i, '!=', factorial(i))

输出结果:

D:\work\python\two\venv\Scripts\python.exe D:\work\python\two\mypy18.py 
1 != 1
2 != 2
3 != 6
4 != 24
5 != 120

posted @   竹蜻蜓vYv  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示