#lambda表示式,為了解決簡單函式的情況,如:
deffunc(a1,a2):
return a1 +a2
func = lambda a1,a2:a1+a2
#上面這兩個是一樣的
deffunc1(a1,a2):
return a1 +a2
func2 = lambda a1,a2:a1+a2
wdc = func1(100,200)
yhf = func2(100,200)
#輸出結果是一樣的,兩種方式一樣
(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 ')
#把後面空格去掉了
(v1)
v2 = func_list[1](100)
(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...