python中的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表達式來代替,更方便

 1、上面可以看出lambda表達式可以很方便的用來代替簡單的函數

 2、下面來看看什么是三元運算,python的三元運算格式如下:

result=值1 if x<y else 值2    這個是什么意思呢,就是結果=值1 if 條件1 else 值2

>>> def f(x,y):                             
    return x - y if x>y else abs(x-y)  
#如果x大於y就返回x-y的值 ,否則就返回x-y的絕對值

>>> f(3,4)      #3<4,不滿足if 條件,它返回else里面的絕度值
1
>>> f(4,3)
1
>>> def f(x,y):
    return 1 if x>y else -1   
#如果x大於y就返回x-y的值 ,否則就返-1
>>> f(3,4)     #3小於4 , 返回-1
-1
>>> f(4,3)      #4大於3,返回1
1
>>> 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM