Lambda表达式在python程序中是一种很常见的匿名方法的书写形式,它书写起来非常简单,但是牺牲了可读性。下面来看一下Lambda的简单介绍。
语法
lambda [parameter_list]:expression
Lambda表达式的返回值是一个函数,[parameter_list]是函数的参数,expression是具体的操作。它对应的非匿名方法的书写方式为:
deffunction([parameter_list]):
expression
如下面的例子:
#Function
deffunc(n):return n 1
print(func(2))#Lambda
f = lambda x:x 1
print(f)print(f(2))
第一种方式是正常的非匿名函数的加一方法,第二种是匿名函数的lambda表达方式。Lambda中的x是表达式返回函数的参数,x 1是具体的函数内容。因为Lambda表达式返回的是一个匿名函数,所以打印结果为:
当然Lambda表达式也有以下的使用情况:
#多参数情况
print(“多参数情况”)
multi= lambda x,y,z: x y zprint(multi(1,2,3))#和非匿名函数一块工作
print(“和非匿名函数一块工作”)defnamedFunc(n):return lambda x:n xprint(namedFunc(2)) #会打印出function,相当于 lambda x: 2 x
print(namedFunc(2)(3)) #会打印出5
f= namedFunc(2)print(f(3)) #等同于namedFunc(2)(3)
得到的结果如下:
对于lambda表达式在Python程序中的一些小建议:
1. 对于简单的逻辑处理,可以放心使用Lambda表达式,这样比较简洁
2. 对于复杂的逻辑处理,尽量避免使用Lambda表达式,易读性差,而且容易出错(大牛除外)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180838.html原文链接:https://javaforall.cn