Python编程 递归函数

2023-10-15 14:15:55 浏览数 (1)

前言

本章将会讲解函数执行注意点与Python递归函数。

一.函数执行注意点

  1. 代码从上至下执行
  2. 函数只有在调用的时候才会执行
  3. 函数执行完毕,则返回到函数的调用处
代码语言:javascript复制
"""
1.代码从上至下执行
2.函数只有在调用的时候才会执行
3.函数执行完毕,则返回到函数的调用处
"""


def test():
    print("--5--")
    return None


def test2():
    print("--3--")
    test()
    print("--4--")


def test3():
    print("--1--")
    test2()
    print("--2--")


# 1 3 5 4 2
test3()

二.递归函数

代码语言:javascript复制
#实现阶乘
# n! = 1*2*3*...*n
# 3! = 1*2*3


#计数器
i = 1
res_nums = 1
while i <=3:
    res_nums *= 1
    res_nums = res_nums * i   #1*1*2*3

    i  = 1

print(f"3!={res_nums}")
1.递归的介绍

函数Func(args)直接或间接调用函数本身,则该函数称为递归函数。

2.例子

阶乘本质:n! = 1 * 2 * 3 * ... * n

使用递归函数实现阶乘

  1. 使用递归实现,在函数内部调用自己
  2. 递归没有结束条件,一定要自己设定结束条件
  3.  能够用递归实现的,都可以用循环实现,递归效率低所以很少使用
代码语言:javascript复制
# 使用递归实现,在函数内部调用自己
# 递归没有结束条件,一定要自己设定结束条件
# 能够用递归实现的,都可以用循环实现,递归效率低所以很少使用
def get_nums(num):
    if num > 1:
        return num * get_nums(num-1)
    else:
        return 1


# 4 * 3 * 2 * 1
res = get_nums(3)
print(res)

注意

  1. 递归函数自身没有结束条件,所以需要我们自己设置结束条件,终止函数的调用。
  2. 可以使用递归实现的循环都可以实现,并且递归效率很低,所以递归很少使用

0 人点赞