函数调用自身的 编程技巧 称为递归
递归函数的特点
- 一个函数 内部 调用自己
函数内部可以调用其他函数,当然在函数内部也可以调用自己 - 代码特点:
函数内部的代码是相同的,只是针对参数不同,处理的结果不同
当 参数满足一个条件时,函数不再执行。(这个非常重要,通常称为 递归的出口,否则会出现死循环)
递归案例——计算数字累加
需求:
- 定义一个函数,sum_numbers
- 能够接收一个 num 的整数参数
- 计算 1+2+...+num 的结果
代码:
def sum_numbers(num): # 写递归首先要写 出口 if num == 1: return 1 # 2.数字的累加 num + (1+...+ (num-1)) # 假设sum_numbers 能够正确处理 1+...+(num-1) temp = sum_numbers(num-1) return num + temp result = sum_numbers(3) print(result)
递归是一个编程技巧,在处理 不确定的循环条件时格外有用 ,例如: 遍历整个文件目录的结构