两个特殊函数
Python有两类特殊函数:匿名函数和递归函数。
匿名函数是指没有函数名的简单函数,只可以包含一个表达式,不允许包含其他复杂的语句,表达式的结果是函数的返回值。
递归函数是指直接或间接调用函数本身的函数。递归函数反映了一种逻辑思想,用它解决某些问题时显得很简练。
1.匿名函数
lambda函数的定义和调用示例。
f=lambda a,b=2,c=5: a-b+c #使用默认值参数
print("f=",f(10,20)) #输出: f=-5
print("f=",f(10,20,30)) #输出:f=20
print("f=",f(c=20,a=10,b=30)) #使用关键字实参,输出:f=0
f=lambda n,m:sum([k**m for k in range(1,n+1)])
s=f(100,1)+f(50,2)+f(10,-1)
print("s=%10.4f"%(s))#占位宽度10,保留4位小数的浮点数
2.递归函数
递归函数是指一个函数的函数体中又直接或间接地调用该函数本身的函数。
如果函数a中又调用函数a本身,则称函数a为直接递归。