函数调用自身的 编程技巧 称为递归
递归函数的特点

  1. 一个函数 内部 调用自己
    函数内部可以调用其他函数,当然在函数内部也可以调用自己
  2. 代码特点:
    函数内部的代码是相同的,只是针对参数不同,处理的结果不同
    当 参数满足一个条件时,函数不再执行。(这个非常重要,通常称为 递归的出口,否则会出现死循环)

递归案例——计算数字累加
需求:

  1. 定义一个函数,sum_numbers
  2. 能够接收一个 num 的整数参数
  3. 计算 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)

递归是一个编程技巧,在处理 不确定的循环条件时格外有用 ,例如: 遍历整个文件目录的结构