在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
特点:
- 调用自身
- 结束条件
1 | def func1(x): |
递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)
练习
1 | def func(depth): |
1 | # 利用递归函数计算阶乘 |
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
特点:
1 | def func1(x): |
递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)
1 | def func(depth): |
1 | # 利用递归函数计算阶乘 |