前面我们已经讲了Python中的函数的用法和属性,本节课是函数部分的最后一讲,主要讲函数一个非常重要的“魔法”,这个“魔法”能够解决很多比较难的问题,“魔法”的名字叫递归。这节课我们一起了解一下递归吧。
一、递归的概念和作用
如果一个函数在内部调用它本身,这个函数就是递归函数。递归函数通常会利用分支结构,其包含两个部分:递归条件和基线条件。
递归条件是指什么情况下函数会调用本身;基线条件是指递归的终止条件。
递归是程序设计中的一个重要方法,它使许多复杂的问题变得简单,容易解决了。
递归是一种通过将大问题分解为小规模同类子问题进而解决问题的方法。它的核心思想是分治策略。分治,即“分而治之”,把一个复杂问题分成两个或更多相同的或者相似的子问题,直到最后子问题可以简单地被直接求解,原问题的解也就是子问题解的合并。
下面我们使用一个实例了解一下递归是怎样写的。
二、使用递归计算阶乘
阶乘是数学上的一种运算,它的定义为:一个正整数的阶乘是所有小于及等于该数的正整数的积:
- 1! = 1
- 2! = 2 × 1
- 3! = 3 × 2 × 1</