Python中的Lambda表达式

Lambda表达式在python程序中是一种很常见的匿名方法的书写形式,它书写起来很是简单,可是牺牲了可读性。下面来看一下Lambda的简单介绍。python

语法express

lambda [parameter_list]:expression

Lambda表达式的返回值是一个函数,[parameter_list]是函数的参数,expression是具体的操做。它对应的非匿名方法的书写方式为:函数

def function([parameter_list]):
    expression

 

以下面的例子:spa

#Function
def func(n):
    return n + 1

print(func(2))


#Lambda
f = lambda x:x+1
print(f)
print(f(2))

第一种方式是正常的非匿名函数的加一方法,第二种是匿名函数的lambda表达方式。Lambda中的x是表达式返回函数的参数,x+1是具体的函数内容。由于Lambda表达式返回的是一个匿名函数,因此打印结果为:code

 

固然Lambda表达式也有如下的使用状况:blog

#多参数状况
print("多参数状况")
multi = lambda x,y,z: x+y+z
print(multi(1,2,3))

#和非匿名函数一块工做
print("和非匿名函数一块工做")

def namedFunc(n):
    return lambda x:n+x

print(namedFunc(2)) #会打印出function,至关于 lambda x: 2+x
print(namedFunc(2)(3)) #会打印出5

f = namedFunc(2)
print(f(3)) #等同于namedFunc(2)(3)

获得的结果以下:io

 

对于lambda表达式在Python程序中的一些小建议:function

1. 对于简单的逻辑处理,能够放心使用Lambda表达式,这样比较简洁class

2. 对于复杂的逻辑处理,尽可能避免使用Lambda表达式,易读性差,并且容易出错(大牛除外)匿名函数

相关文章
相关标签/搜索