1 匿名函数
匿名函数是指使用 lambda 关键字创建的函数。它的标准结构如下:
lambda 形参列表: 含有形参列表的表达式
表达式的计算值即为 lambda 函数的返回值。
如下 lambda 函数:
lambda x,y: x+y
它等价于下面的 f 函数:
def f(x,y):
return x+y
lambda函数常做为 max , sorted , map , filter 等函数的key参数。
2 递归函数
递归函数是指调用自身的函数。如使用递归反转字符串:
def reverseStr(s):
if not s:
return s
return reverseStr(s[1:])+s[0]
print(reverseStr('nohtyp')) # python
我们来计算阶乘 n! = 1 * 2 * 3 * … * n,用函数 fact(n)表示
def fact(n):
if n==1:
return 1
return n * fact(n - 1)
reverseStr 函数里面又调用了函数 reverseStr ,所以它是递归函数。使用递归函数需要注意找到正确的递归基(递归结束的条件),防止陷入无限递归。