前言
本章将会讲解函数执行注意点与Python递归函数。
一.函数执行注意点
- 代码从上至下执行
- 函数只有在调用的时候才会执行
- 函数执行完毕,则返回到函数的调用处
"""
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
使用递归函数实现阶乘
- 使用递归实现,在函数内部调用自己
- 递归没有结束条件,一定要自己设定结束条件
- 能够用递归实现的,都可以用循环实现,递归效率低所以很少使用
# 使用递归实现,在函数内部调用自己
# 递归没有结束条件,一定要自己设定结束条件
# 能够用递归实现的,都可以用循环实现,递归效率低所以很少使用
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)
注意
- 递归函数自身没有结束条件,所以需要我们自己设置结束条件,终止函数的调用。
- 可以使用递归实现的循环都可以实现,并且递归效率很低,所以递归很少使用