Python之Lambda与三元运算
2019-11-22 23:20 清风软件测试开发 阅读(568) 评论(0) 编辑 收藏 举报Python之Lambda与三元运算
Lambda 运算
概念:是指一类无需定义标识符(函数名)的函数或者子程序。
特点:匿名函数不使用def定义函数,使用lambda来创建匿名函数
1.lambda只是一个表达式,函数体比def简单
2.lambda的主体是一个表达式,而不是一个代码块,仅仅只能在lambda表达式中封装简单的逻辑
3.lambda函数有自己的命名空间,且不能访问自由参数列表之外的或全局命名的空间参数(只能用自己的参数,其他的用不了)
lambda 语法:
lambda 参数1,参数2,…,参数n: expression[表达式]
sum = lambda num1, num2: num1 + num2 print(sum(1, 2)) 输出: 3
Lambda表达式和if not...else用法
#if 条件为真的时候返回if前面内容,否则返回0 exp1= lambda x:x+1 if 2==1 else 0 print(exp1(2)) exp2 = lambda x:x+1 if 1==1 else 0 print(exp2(2)) 输出: 0 3
#if not 为假返回if not前面内容,否则返回0 exp3 = lambda x:x+1 if not 2==1 else 0 print(exp3(2)) exp4 = lambda x:x+1 if not 1==1 else 0 print(exp4(2)) 输出: 3 0
三元运算
a = 1 b = 2 h = "" h = "变量1" if a>b else "变量2" print(h)
# 普通条件语句 if 1 == 1: name = ‘Jack Ma' else: name = ‘pony' # 三元运算 name = ‘Jack Ma' if 1 == 1 else ' pony'
def whoIs_richest(jackMa='alibaba', pony='tencent'): return 'jackMa' if len(jackMa)>len(pony) else 'pony' print(whoIs_richest()) 输出: pony