lambda 表达式(又称匿名函数)
作用:
创建一个匿名函数对象
同def 类似,但不提供函数名
格式:
lambda [参数1,参数2,.....] : 表达式(默认只能写一个)
说明:
1.lambda 只是一个表达式,它用来创建一个函数对象
2.当lambda表达式调用时,先执行冒号(:)后的表达式,并返回表达式的结果的引用关系
3.lambda 表达式创建的函数只能包含一条表达式
4.lambda 比函数简单且可以随时创建和销毁,有利于减少程序的偶合度
#方法1
def maxNum(x, y):
return max(x, y)
print "30和20中",maxNum(30, 20) , "大一点"
运行结果:
#方法2
maxNum = lambda x,y:x if x > y else y
print'lambda表达式实现:',maxNum(23,34)
运行结果:
方法二的好处:
使用场景, 比如我想实现判断y<0时候,把y设为0 (让y最终结果恒大于等于0)
如:在线人数不可能是负数
写法:
x = -2
fa = lambda x, y: x if x >= y else y
print "玩家退出后,剩余玩家数: ", fa(x, 0)
x = 3
print "玩家退出后,剩余玩家数: ", fa(x, 0)
结果: