lambda函式

xie仗劍天涯發表於2017-04-11
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

相關文章