python 三元运算与lambda

Posted Trunkslisa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 三元运算与lambda相关的知识,希望对你有一定的参考价值。

一、lambda表达式

 1 >>> def add(x,y):           #定义一个加法函数
 2     return x+y              #返回两个参数的相加的值
 3 
 4 >>> z=f(3,4)                
 5 >>> print(z)
 6 7                                     #调用加法函数返回7
 7 >>> lambda x,y:x+y
 8 <function <lambda> at 0x0000020F385B86A8>    
 9 #可以看到lambda是一个   function(函数)类对象
10 >>> f=lambda x,y:x+y          #功能实现的跟add(x,y)一样        
11 >>> f(1,2)
12 3
13 >>> f(3,4)
14 7
15 >>> def multiply(x,y):
16     return x*y
17 
18 >>> multiply(3,4)
19 12
20 >>> multiply=lambda x,y:x*y
21 >>> multiply(3,4)
22 12
23 >>> def subtract(x,y):
24     return x-y
25 
26 >>> subtract(3,4)
27 -1
28 >>> subtract=lambda x,y:x-y
29 >>> subtract(3,4)
30 -1
31 
32 >>> def divide(x,y):
33     return x/y
34 
35 >>> divide(4,2)
36 2.0
37 >>> divide=lambda x,y:x/y
38 >>> divide(4,2)
39 2.0
40 
41 #上面的乘法函数,减法函数,除法函数都可以用lambda表达式来代替,更方便

从上面可以看出lambda表达式可以很方便的用来代替简单的函数

 

二、三元运算

1、下面来看看什么是三元运算

2、python的三元运算格式如下:

result=值1 if x<y else 值2    这个是什么意思呢,就是结果=值1 if 条件1 else 值2

 1 >>> def f(x,y):                             
 2     return x - y if x>y else abs(x-y)  
 3 #如果x大于y就返回x-y的值 ,否则就返回x-y的绝对值
 4 
 5 >>> f(3,4)      #3<4,不满足if 条件,它返回else里面的绝度值
 6 >>> f(4,3)
 7 >>> def f(x,y):
 8     return 1 if x>y else -1   
 9 #如果x大于y就返回x-y的值 ,否则就返-1
10 >>> f(3,4)     #3小于4 , 返回-1
11 -1
12 >>> f(4,3)      #4大于3,返回1
13 >>>

以上是关于python 三元运算与lambda的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 的三元运算符与 lambda 组合的意外输出

Python基础-lambda表达式与三元运算

python中的lambda表达式与三元运算

Python 函数进阶-lambda匿名函数和三元运算符

Python-yield 三元运算 Lambda表达式

Python-三元运算符和lambda表达式