Python 之 lambda 表示式

2021-10-11 16:17:52 字數 3471 閱讀 1828

一、lambda的應用場景

二、lambda語法

三、快速入門 — 案例講解

四、lambda表示式的引數形式

五、lambda表示式的應用

如果乙個函式

有乙個返回值,並且只有一句**,可以使用lambda簡化。(說實話這定義簡單到離譜~)

返回頂部

lambda 引數列表 :表示式
注意:

返回頂部需求1:函式 返回值100

def

fun():

return

100print

(fun)

# print

(fun())

# 100

#   lambda 引數列表 :表示式

func =

lambda

:100

print

(func)

# at 0x0000029dd9769ca8> 返回的是乙個函式記憶體位址

print

(func())

# 100 上面說到func儲存的是乙個函式的記憶體位址,所以在這裡呼叫該函式(),輸出值

需求2: 實現兩數相加的和

def

two_sum

(a,b)

:return a+b

print

(two_sum(3,4))

sum

=lambda a,b : a+b

print

(sum(3

,4))

通過上述的案例我們可以看到lambda表示式的簡便性,可以將多行的函式縮短為一行,大大減少了儲存的記憶體。

注意:1.利用變數儲存的lambda表示式,實際上該變數儲存的就是lambda的記憶體位址,通過該返回值可以看出lambda表示式同樣是乙個函式,所以lambda表示式又稱為匿名函式,只是呈現方式更加簡便。既然是函式物件,在輸出其返回值的時候就需要我們對其進行呼叫 —變數名(函式名)()

返回頂部1.無引數型別

fun =

lambda

:100

print

(fun(

))

用於直接返回值直接呼叫函式即可!

2.乙個引數型別
fun1 =

lambda a : a

print

(fun1(

'hello world!'))

/hello world!

3.兩個引數型別
fun2 =

lambda a,b : a+b

print

(fun2(4,

5))//

9

4.預設引數型別
fun3 =

lambda a, b, c=

100: a+b+c

print

(fun3(10,

20))//

130print

(fun3(10,

20,30))

//60

預設引數又稱為預設值,就是在呼叫函式的時候可以傳入對應的值,也可以不傳入。不傳入值則將使用定義的預設值;傳入,則將使用傳入的值。

5.可變引數型別: *args
fun4 =

lambda

*args : args

print

(fun4(10,

20,30)

)

*args接收的是不定長的未知引數,返回的型別為元組

6.可變引數型別:**kwargs
fun5 =

lambda

**kwargs : kwargs

print

(fun5(name =

'python'

,age =20)

)print

(fun5(name =

'python'

,age =

20,*** =

'男')

)

接收不定長的關鍵字引數,返回的是乙個字典

返回頂部

fun =

lambda a,b : a if a>b else b

print

(fun(5,4))

students =[,

,]# 按照name公升序排列

students.sort(key=

lambda x:x[

'name'])

print

(students)

# 按照name降序排列

students.sort(key=

lambda x:x[

'name'

],reverse=

true

)print

(students)

# 按照age值公升序排列

返回頂部

python之lambda表示式

lambda的主體是乙個表示式,而不是乙個 塊。僅僅能在lambda表示式中封裝有限的邏輯進去。lambda表示式是起到乙個函式速寫的作用。允許在 內嵌入乙個函式的定義。事例 建立匿名函式 g lambda x 2 x 1 冒號前面是變數,冒號後面是表示式 g 5 11 g lambda x,y x...

Python之lambda表示式

lambda也稱之為匿名函式,與常規函式相比 常規函式def必須通過其函式名被呼叫,因此必須首先被定義。但是作為乙個表示式的lambda,返回的函式物件就不需要名字了。lambda專注於簡單的任務,而常規函式則負責更複雜的多行邏輯。lambda表示式的主體是只有一行的簡單表示式,並不能擴充套件成多行...

Python之lambda表示式

一 lambda表示式的概念和意義 lambda表示式有稱為隱函式,它的定義過程由形參和要返回的表示式組成,它相對於一般函式而言具有以下優勢 1 免去了函式定義的過程,變得更加精簡 2 省卻函式定義過程,不需要處心積慮的想出乙個符合函式功能的名字 二 lambda表示式的用法 格式 lambda關鍵...