lambda函式主體是一個表示式,是python中的匿名函式
eg_v1 (定義一個lambda表示式,求三個數的和)
func = lambda x,y,z:x + y + z print (func(12,44,33)) # 89 # 使用函式 def add(x,y,z): sum = x + y + z print (sum) return add(12,44,33) # 89
上面的例子中,可知lambda函式只是建立簡單的函式物件,是一個函式的單行版本,但是這種語句由於效能的原因,呼叫的時候繞過函式的棧分配
eg_v2 (用lambda表示式求n的階乘)
n = 10 factorial = reduce(lambda x,y : x * y , range(1,n+1)) print (factorial) # 3628800 # eg_v3 (lambda表示式也可以用在def函式中) def function(x): return lambda y : x + y a = function(10) print (a(20)) # 30