匿名函数特点:
- 只能有一个表达式
2.不用return,默认return结果
3.不需要名字,防止函数名重复
4.是对象,可赋值给一个变量
经典例子
>>> map(lambda x : x*x, [2, 4, 8, 9])
[4, 16, 64, 81]
python匿名函数lambda格式:
lambda 参数(可以有默认值) : 表达式
# 无参
>>> lambda : 'hello word!'
<function <lambda> at 0x10d32f578>
>>> hw = lambda : 'hello word!'
>>> hw()
'hello word!'
>>> hw
<function <lambda> at 0x10d32f5f0>
# 有参
>>> sum = lambda a, b : a + b
>>> sum(2, 8)
10
# 有参 有默认值
>>> sum = lambda a, b=8 : a + b
>>> sum(2)
10
>>> sum(2, 4)
6
# 不定长参
>>> sum = lambda *z : z
>>> sum(18, 'ac', {'a': 1})
#嵌套if else(还有其他很多使用方法)
>>> sum = lambda a, b : a if a>b else b
>>> sum(4, 5)
5