匿名函数和递归函数


本章概述:python基础——匿名函数和递归函数


一、匿名函数

在使用函数的时候,如果作为参数或者返回值的函数本身非常简单,一行代码就能够完成,那么我们可以使用lambda函数来表示,普通函数需要函数名来申明,lambda函数不需要函数名,所以也叫匿名函数。匿名函数只能有一行代码,代码中的表达式产生的运算结果就是这个匿名函数的返回值,匿名函数只能一些比较简单的表达式,不能做复杂的计算。

1
2
func=lambda x,y:x+y
print(func(10,12)) #22

如果需要使用加减乘除这种简单的二元函数,也可以用Lambda函数来书写

二、递归函数

递归函数指的是函数自己调用自己,比如求阶乘,我们可以使用递归调用的方式。但是递归函数一定要保证递归的边界,递归次数过多会导致栈溢出,当递归次数过多时,那我们就不应该使用递归调用方式来做。

1
2
3
4
def Factorial(n):
if n in (0,1):
return 1
return n*Factorial(n-1)

上面的例子通过递归调用的方式来求阶乘。当n=1000时则会报错,表示已经达到最大的递归次数。