高阶函数
函数的参数和返回值可以是任意类型的对象,即函数本身也可以作为函数的参数或返回值,这就是高阶函数。
Lambda函数–>没有名字,一句话可以写完
1. 递归调用
函数如果直接或者间接调用了自身,这种调用称为递归调用
递归函数的两个要点:
1.递归公式(第n次跟n-1次的关系)
2.收敛条件(什么是或停止递归调用)
函数可以调别人也可以调自己,但一定要收敛,
即在比较有限的调用次数内能够结束,不要无限制的调用。
用递归调用求阶乘:
def fac(num:int)->int:
"""
求阶乘(递归写法)
:param num:
:return:
"""
if num==0:
return 1
return num*fac(num-1)
if __name__ == '__main__':
for i in range(11): #求出0到10的阶乘
print(i,fac(i))
求斐波那契数列:
def fib(n,temp={}):
if n in (1,2):
return 1
if n not in temp:
temp[n]=fib(n - 1) + fib(n - 2)
return temp[n]
if __name__ == '__main__':
for i in range(1,121): #求出1到120之间的斐波那契数
print(fib(i))

本文介绍了高阶函数的概念,通过使用函数作为参数和返回值来展示其应用。同时,讲解了递归调用的原理,包括递归公式和收敛条件,并给出了阶乘和斐波那契数列的递归实现。示例代码分别展示了如何利用递归计算0到10的阶乘和1到120的斐波那契数列。
1138

被折叠的 条评论
为什么被折叠?



