匿名函数
1.引入
在python中,为了实现一些小的功能,而不用麻烦的去定义函数体、起函数名,用lambda这个函数来完成任务。
2.语法
lambda [arg1 [,arg2,.....argn]]:expression
3.详解
先写lambda关键字,然后依次写匿名函数的参数,多个参数中间用逗号连接,然后是一个冒号,冒号后面写返回的表达式。
4.对比
def func1(a, b):
return a + b
order = lambda a, b: a + b
print(func1(1,2))
print(order(1,2))
解释:
使用lambda匿名函数,就少了一行。(哈哈哈有点少,但也是节省了)
5.用法
- 最实用的方法
colors = [{"name":"hong","depth":8},{"name":"lv","depth":4},{"name":"lan","depth":6}]
colors.sort(key=lambda x:x['depth']) # 根据颜色深度进行排序
print(colors)
解释: 根据字典中的某个变量进行排序
- lambda可以用做字符串的拼接
x = lambda x,y="最",z="好看": x+y+z
print(x("Foo"))
- 实现一些逻辑加减乘除
order = lambda x,y=2:x*y
print(order(4))
6.总结
lambda函数其实也挺重要,一开始我不懂这是个什么函数。等我去了解他的时候,明白了它的用意。它们用在需要封装特殊的、非重用代码上,避免代码充斥着大量单行函数。