python lambda表示式(匿名函式)

2022-05-11 16:45:13 字數 1258 閱讀 2988

#

lambda表示式,為了解決簡單函式的情況,如:

deffunc(a1,a2):

return a1 +a2

func = lambda a1,a2:a1+a2

#上面這兩個是一樣的

def

func1(a1,a2):

return a1 +a2

func2 = lambda a1,a2:a1+a2

wdc = func1(100,200)

yhf = func2(100,200)

#輸出結果是一樣的,兩種方式一樣

print

(wdc)

print(yhf)

還有很多寫法:

func1 = lambda :100

#表示函式沒引數,只返回乙個100

print(func1())

func2 = lambda x1:x1 + 100

# 表示函式傳遞乙個引數,返回x1+100

print(func2(100))

func3 = lambda *args,**kwargs:len(args)+len(kwargs)

# 可以傳遞萬能引數

print(func3(1,2,3,wdc=123))

###lambda只能用一行表示,不能自己建立表變數

data = 100

#可以接受父作用域中的變數

func4 = lambda a1:a1+data

print(func4(123))

#

lambda 表示式和三元運算的結合:輸出兩個值中的最大值

func = lambda a1,a2:a1 if a1 > a2 else

a2print(func(1,5))

最後- -!lambda表示式也可以放在列表中

func_list = [lambda x:x.strip(),lambda y:y+100,lambda x,y:x+y]

v1 = func_list[0]('

wdc ')

#把後面空格去掉了

print

(v1)

v2 = func_list[1](100)

print

(v2)

v3 = func_list[2](1,2)

print(v3)

Python lambda表示式學習

lambda只是乙個表示式,函式體比def簡單很多。lambda的主體是乙個表示式,而不是乙個 塊。僅僅能在lambda表示式中封裝有限的邏輯進去。lambda表示式是起到乙個函式速寫的作用。允許在 內嵌入乙個函式的定義。如下例子 定義了乙個lambda表示式,求三個數的和。再看乙個例子 用lamb...

原創 python lambda表示式

對於lambda先看一下 python filter函式 一文提到的函式 li boy 41 tim qq 1125891 filter fu,li 41 1125891 可以用lambd一句話表示 li boy 41 tim qq 1125891 filter lambda x x.isdigit...

python lambda表示式詳解

python lambda表示式詳解 1 lambda簡介 先來看一段 示例 第一行是lambda宣告,x,y相當於傳入的引數,整個函式會返回x y的值。lambda作為乙個表示式,定義了乙個匿名函式,上例的 x,y為入口引數,x y為函式體。在這裡lambda簡化了函式定義的書寫形式。python...